Hello, I want to invoke a WebService "manually", given by a provider in style RPC/encoded, but the only info I have is a wsdl.xml file. When I call it I get the message no SOAPAction header!, wich I saw many users had in this forum, so that's why I try to ask in this forum. I think my problem is something with namespaces, I'm new to XML and I promise I've been more than 2 weeks reading documentation and searching the internet, just in case you think I pretend you to solve my problem without doing my homework...
The XML object I build is this (I changed : for ; for smilies problem!!):
I used bold letters in the part I guess is my problem. Is it namespace problem?
The wsdl defintion is this long one (I use bold letters in the function definition so you don't have to read it all, sorry for this);
Thanks a lot
[ UD: added linebreaks to preserve layout ] [ August 04, 2008: Message edited by: Ulf Dittmer ]
SOAPAction is an HTTP header (so it's not part of the XML) that is required by most SOAP toolkits. You can observe its value by using a tool like tcpmon (on dev.java.net), which might give you more of a clue what's going on.
How are you generating the XML, meaning which API and SOAP toolkit are you using? They all have some way of controlling HTTP headers.
As an aside, if you wish to avoid problems with colons and smilies, just check the checkbox "Disable Smilies" during posting.
Ping & DNS - updated with new look and Ping home screen widget
Joined: Aug 04, 2008
Thanks for your reply and welcoming...
I'm not using any toolkit or component. When I say manually I mean I build the SOAP object from the content of a text file and send it using MSXML2.ServerXMLHTTP (open, send, responseText)
Actually I'm not even using Java, I posted here thinking of XML and SOAP, not java components, hope there's a way...
Joined: Mar 22, 2005
Well, the principle still holds: you can watch the XML (and its HTTP headers) in transit using tcpmon, and you will need to set the SOAPAction HTTP header to whatever will make the server happy.