http://www.alphaworks.ibm.com/forum/jrom.nsf/archived/21BD14AFAE3AA8CDFF7347845536A11B?OpenDocument
Olivier Brand Senior Java Architect - Mobile Services and Integration Global IT & Technology Management Vodafone AG Mannesmannufer 3 - 40213 Dusseldorf - Germany Mobile: +49 172 2094646 E-Mail: [EMAIL PROTECTED] -----Original Message----- From: Brand, Olivier Sent: Monday, March 17, 2003 3:01 PM To: [EMAIL PROTECTED] Subject: RE: WSIFOperation_ApacheAxis I have seen this discussion on alphaworks. Seems related. Any clue ? This is not clear.... Olivier Brand Senior Java Architect - Mobile Services and Integration Global IT & Technology Management Vodafone AG Mannesmannufer 3 - 40213 Dusseldorf - Germany Mobile: +49 172 2094646 E-Mail: [EMAIL PROTECTED] -----Original Message----- From: Anthony Elder [mailto:[EMAIL PROTECTED] Sent: Monday, March 17, 2003 10:11 AM To: [EMAIL PROTECTED] Subject: Re: WSIFOperation_ApacheAxis Hardly surprising this doesn't work properly as immediately after your change there's a comment in the code saying //TODO: sort out param namespace! Could you raise a bugzilla about this so it doesn't get forgotten again please? I vaguely remember there was another issue with the namespace which made it harder to fix, but I'll need to go back and do some testing to see what it was... ...ant Anthony Elder [EMAIL PROTECTED] Web Services Development IBM UK Laboratories, Hursley Park (+44) 01962 818320, x248320, MP208. "Simon Solomon" <[EMAIL PROTECTED]> on 14/03/2003 16:21:12 Please respond to [EMAIL PROTECTED] To: [EMAIL PROTECTED] cc: Subject: WSIFOperation_ApacheAxis Hi, I am using WSIF to invoke the attached WSDL. (Using the ApacheAxis Provider) However, the generated soap message (attached below) contains an invalid namespace tag for the "greetData" part name as "<ns1:greetData href="#id0"/>" where it should have looked like "<greetData href="#id0"/>". When I add the following lines of code to the WSIFOperation_ApacheAxis.java setCallParameterNames(Call call) function, the correct soap message is generated. Does anyone know what I am missing or what's going on? *This only happens in a document style service. *This problem does not happen when I use the ApacheSoap Provider. Thanks! Added Code ->> if(WSIFAXISConstants.STYLE_RPC.equals(operationStyle)) name = new QName("", partName); else name = new QName(inputNamespace, partName); QName type = getPartType(p); call.addParameter(name, type, ParameterMode.IN); Invalid Saop ->> <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <ns1:sayHello soapenv:encodingStyle ="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1 ="http://sde.fds.com/schema/mpsitest"> <ns1:greetData href="#id0"/> </ns1:sayHello> <multiRef id="id0" soapenc:root="0" soapenv:encodingStyle ="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:Data" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2 ="http://sde.fds.com/schema/mpsitest"> <name xsi:type="xsd:string">Simon Solomon</name> <id xsi:type="xsd:string">1234</id> </multiRef> </soapenv:Body> </soapenv:Envelope> WSDL Used ->> <?xml version="1.0" encoding="utf-8"?> <definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap ="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s ="http://www.w3.org/2001/XMLSchema" xmlns:s0 ="http://schema.sde.fds.com/mpsitest/complex2" xmlns:soapenc ="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tm ="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime ="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace ="http://schema.sde.fds.com/mpsitest/complex2" xmlns ="http://schemas.xmlsoap.org/wsdl/"> <types> <s:schema elementFormDefault="qualified" targetNamespace ="http://schema.sde.fds.com/mpsitest/complex2"> <s:element name="sayHello"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="greetData" type ="s0:ArrayOfSomeData" /> </s:sequence> </s:complexType> </s:element> <s:complexType name="ArrayOfSomeData"> <s:sequence> <s:element minOccurs="0" maxOccurs="unbounded" name="SomeData" nillable="true" type="s0:SomeData" /> </s:sequence> </s:complexType> <s:complexType name="SomeData"> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="name" type ="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="id" type="s:string" /> </s:sequence> </s:complexType> <s:element name="sayHelloResponse"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="sayHelloResult" type="s:string" /> </s:sequence> </s:complexType> </s:element> </s:schema> </types> <message name="sayHelloSoapIn"> <part name="parameters" element="s0:sayHello" /> </message> <message name="sayHelloSoapOut"> <part name="parameters" element="s0:sayHelloResponse" /> </message> <portType name="Complex2Soap"> <operation name="sayHello"> <input message="s0:sayHelloSoapIn" /> <output message="s0:sayHelloSoapOut" /> </operation> </portType> <binding name="Complex2Soap" type="s0:Complex2Soap"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style ="document" /> <operation name="sayHello"> <soap:operation soapAction ="http://schema.sde.fds.com/mpsitest/complex2/sayHello" style="document" /> <input> <soap:body use="literal" /> </input> <output> <soap:body use="literal" /> </output> </operation> </binding> <service name="Complex2"> <documentation>MPSI Testing WebService</documentation> <port name="Complex2Soap" binding="s0:Complex2Soap"> <soap:address location ="http://fs000xs3070514/mpsi_test/complex2.asmx" /> </port> </service> </definitions> Simon Solomon [EMAIL PROTECTED]
