on 08-12-2008 11:22 AM
Hi,
I need to call a web service in an synchronous RFC to Web service scenario.The provider of service said me that they are going to accept production order with the service they provide. However, service semms to have only 2 request parameters one is a string enumeration ("online" or "offline") but the other has no type. In WSDL it is shown as the following -
-<s:element minOccurs="0" maxOccurs="1" name="strFilenameOrXML">
- <s:complexType mixed="true">
- <s:sequence>
<s:any />
</s:sequence>
</s:complexType>
</s:element>
When I try to test the web service with Altova XML Spy it gives me the error "Object reference not set to an instance of an object" .. at StokbarPlus.ProdService.WriteProdToSB(XmlNode strFilenameOrXML, IntegrationType EntegrasyonTip)..
I guess the service is waiting for a xmlNode object...
Is it possible to assign an XI message(coming from RFC) as an xmlNode object to an element of a webservice message and send it by using SOAP adapter?.
I tried send the SOAP message by putting the whole xml(a sample order document) as a string constant in the strFilenameOrXML element and send but it did not work...
How should I proceed?
Thanks in advance for your help,
-Tarik
Ideally webservice wsdl should have all the fields that are required at receiver to process complete message. In this respect, the wsdl seems to be incorrect or incomplete. Please verify it with the receiver side.
OR It may be the case, the receiver is expecting a complete xml in one string and its processing logic is written in webservice.
Regards,
Prateek
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Prateek,
I totally agree with you. The format they want is a complete order document, however they provide me a WSDL which only describes me a method name and two field. So only two possibility remains 1- wrong WSDL 2- they want all their data inside an element as a string and after getting it they are going to parse it to an real xml doc.
For the 1st case it is obvious that I need to contact them suddenly
As for 2nd case; if they want all the data in an xml tag then Why didnt they use an element of type string? (instead they use a complex type as seen in the WSDL part I provided)
Or are there any other possibility?
Hey, i was going through
According to this, the attribute "mixed" is not supported in XI.
Regards,
Prateek
Hi,
Problem is still unsolved.
By the way I figured out that they are waiting the xml message inside strFilenameOrXML tag and tried to send it so. However it does not work. I have tried two different ways to send it.
First one is by using messages in WSDL: did not work because special chars like <,> in the message that I am sending in the tag is escaped .
The Second way is using the data types that I developed, it did not work too since the receiver expects one of the inner node's namespace prefix to exist.
I tried exporting the xsd of the message type, adding attributeFormDefault="qualified" to header, and reimporting it. It did not work, because it changes all nodes, but they want some specific node to be qualified.
Any suggestions?
Hi Tarik,
In your scenario RFC to webservices , you are sending request from RFC to webservice it needs to send some response otherwise it shows the error message.check that webservice is sending some response back.
Regards,
Jayasimha Jangam
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Is it possible to assign an XI message(coming from RFC) as an xmlNode object to an element of a webservice message
If the understanding is correct, u want the complete payload in a single node to extract it to ur receiver side structure. If yes, then u may proceed using xsl or java mapping as follows:
Regards,
Prateek
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
86 | |
10 | |
10 | |
9 | |
7 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.