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
