• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

SOAP envelope for Web service for newbie

 
Krilin Wantun
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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 ]
 
Ulf Dittmer
Rancher
Pie
Posts: 42967
73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Welcome to JavaRanch.

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.
 
Krilin Wantun
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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...

Thanks again
 
Ulf Dittmer
Rancher
Pie
Posts: 42967
73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Krilin Wantun
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thank you!
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic