Web Service Error for SOAP

Hi All,

I am using WM 4.6. I am trying to create a simple SOAP webservice that will take a soap message and return Hello World. I am following all the guidelines but I get the following error.

http://<servername>/MyPackage.WSTestSoap:SOAPTest does not exist

The path is correct and there is a service named SOAPTest but the http request is not able to find it. Also note that the wsdl is not generating the port after the <servername> in the URL ( I am providing this). I hardcoded the port# still I get the same error.

I am using the default SOAP processor. Any ideas. Are there any fixes or something that I am missing? I am on 4.6 version with following fixes:

TNS_4-6_SP1_FIX_64, IS_4-6_SP1, TNS_4-6_FIX_33, IS_4-6_Fix145, IS_4-6_Fix107, IS_4-6_SP1_Fix77, IS_4-6_Fix122, TNS_4-6_FIX_6, IS_4-6_Fix140

Thanks

JZ

Hi
I am having a similar problem. Any luck with yours???
Prasad

I think the url should be
http://<servername>/MyPackage/WSTestSoap/SOAPTest

When you generated your WSDL did you choose Soap RPC style or Soap-Message (document/literal) style?

For document/literal, the Integration Server default soap processor (located at http://hostname:port/soap/default ) uses the namespace of the qualified name (QName) and the QName itself to locate the service to be invoked.

To see the the contents of the web services universal name registry execute pub.universalName:list. You should see an entry for every service for which the universal name property has been explicitly set. The default soap processor attempts to locate the service to invoke using the namespaceName and the localName of the soapRequest’s QName.

For example, if your soap message contains a soap:body that looks like this:

The IS default soap processor would attempt to find a service in the registry with a localName of “employeeActionRequest” and a namespaceName of http://WSDLTest.

If your web service connector or another soap client generates a soap message that omits the namespace prefix and namespace definition (the default behavior for webMethods Glue), the default soap processor will not be able to locate the service to invoke.

Assuming you are using document/literal, it appears that the IS default soap processor in your case can not locate a service with the universal name of http://somenamespace:yourServiceName.

What is the name of the “wrapper” Flow service that you are trying to invoke? What did you specify for its Universal name\namespace and Universal Name\local name settings? What soap client are you using?

You should also look at the soap request being generated by your soap client (assuming it is not IS). To do this put Apache Axis in your classpath, go to the command prompt and type:

(To save time, I usually create a script to launch this for me called soapmonitor.cmd.)

Then change your soap client to post to port 4444 on your IS server instead of port 5555. You should see the soap request and reply messages.

Prasad, are you using IS 4.6 too or have you moved to 6.1?

Mark

(Message edited by mcarlson on July 21, 2004)