Hi Anthony,

Attached is the WSDL and the trace log.

Thanks for your help,
David

 



"Anthony Elder" <[EMAIL PROTECTED]>

02/18/2003 01:33 AM
Please respond to wsif-user

       
        To:        [EMAIL PROTECTED]
        cc:        
        Subject:        Re: [wsif] Content length error




Hi David,

Its not immediately obvious whats going wrong here, could you post your
WSDL so I can try it?

Yes SOAP understands multirefs and I run all WSIF AXIS testcases
successfully talking to Apache SOAP on the server,  so I don't think that
is the problem.

WSIFPluggableProviders can only override the soap provider if all the jars
are available, you'll have to run trace to see whats going wrong with that.
Can you post or send to me  the trace output. See this post for how to run
trace: http://marc.theaimsgroup.com/?l=axis-user&m=104245307612570&w=2

      ...ant

Anthony Elder
[EMAIL PROTECTED]
Web Services Development
IBM UK Laboratories,  Hursley Park
(+44) 01962 818320, x248320, MP208.


[EMAIL PROTECTED] on 18/02/2003 01:32:56

Please respond to [EMAIL PROTECTED]

To:    [EMAIL PROTECTED]
cc:    [EMAIL PROTECTED]
Subject:    [wsif] Content length error




I've written two WSIF clients, one dynamic and the other a stub version,
that call the same existing web service on my Intranet. The service is
implemented using Apache SOAP. Both clients are using a soap provider. The
stub client returns this error:

org.apache.wsif.WSIFException: org.apache.wsif.soap.fault.object:Content
length
must be specified.
� � � � at org.apache.wsif.base.WSIFClientProxy.invoke(Unknown Source)
� � � � at $Proxy0.getMembershipDetails(Unknown Source)
� � � � at client.RunStubSOAP.main(Unknown Source)

The dynamic client returns a similar error of "content length must be
specified". Using other, non-WSIF clients show the web service is running
fine, without errors.

I'm monitoring �what's traveling over the wire. I see that "content-length"
is set in the HTTP header, in both directions. (I'm assuming this is what
content length is referring to.) The body of the response looks like this:

<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="
http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="
http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Protocol</faultcode>
<faultstring>Content length must be specified.</faultstring>
<faultactor>/MemberWebService/servlet/rpcrouter</faultactor>
</SOAP-ENV:Fault>

</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Thinking that Axis running client-side and SOAP running server-side could
be a problem, I set WSIFPluggableProviders.overrideDefaultProvider(...),
but this didn't seem to make any difference. As a matter of fact, it seems
to be having no affect at all, because the "User-Agent" header still says
"Axis/1.0" in the request header. Is there another way to force the default
provider to Apache SOAP?

In the request body I see a "multiref" element and I'm wondering if that's
the "content length" problem. Does Apache SOAP understand multirefs?

Any help/hints would be greatly appreciated.

Thanks,
David





Attachment: wsdl.zip
Description: Zip archive

Attachment: tracelog.zip
Description: Zip archive

Reply via email to