thanks On Thu, Aug 25, 2011 at 4:37 PM, Andreas Veithen <andreas.veit...@gmail.com> wrote: > This issue is described in AXIS2-5071, affects 1.5.5 and 1.6.0 and > will be fixed in 1.5.6 and 1.6.1. > > Andreas > > On Thu, Aug 25, 2011 at 22:27, Fazle Khan <fazlesk...@gmail.com> wrote: >> We have been trying to upgrade from Axis 1.5.4 to Axis2 1.6.0 and are >> stumped by Axis2 not correctly serializing a custom soap header >> defined in the server’s wsdl. >> >> The definition of the custom header defined in the wsdl is >> >> <xs:element name="RequestHeader"> >> <xs:complexType> >> <xs:all> >> <xs:element name="ipaddress" type="xs:string"> >> <xs:annotation> >> <xs:documentation> >> This should contain the IP address >> on which the client is running. >> </xs:documentation> >> </xs:annotation> >> </xs:element> >> <xs:element name="serverId" type="xs:string"> >> <xs:annotation> >> <xs:documentation> >> the edge server handling the >> external client connection >> </xs:documentation> >> </xs:annotation> >> </xs:element> >> <xs:element name="sessionId" type="xs:string"> >> <xs:annotation> >> <xs:documentation> >> external client's session id on >> the edge server >> </xs:documentation> >> </xs:annotation> >> </xs:element> >> </xs:all> >> </xs:complexType> >> </xs:element> >> >> <wsdl:message name="RequestHeader"> >> <wsdl:part element="sch:RequestHeader" name="RequestHeader"> >> </wsdl:part> >> </wsdl:message> >> >> And the header is included in each soap operation >> >> <wsdl:operation name="Authentication"> >> <soap:operation soapAction=""/> >> <wsdl:input name="AuthenticationRequest"> >> <soap:body use="literal"/> >> <soap:header message="tns:RequestHeader" >> part="RequestHeader" use="literal"> >> </soap:header> >> </wsdl:input> >> <wsdl:output name="AuthenticationResponse"> >> <soap:body use="literal"/> >> </wsdl:output> >> </wsdl:operation> >> >> When the axis2 client tries to serialize the RequestHeader object only >> the first child element (‘ipaddress’) is correctly serialized, the >> other two child elements (‘serverId’ and ‘sessionId’) are ignored. >> >> The resulting soap message >> >> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> >> <soapenv:Header> >> <sch:RequestHeader xmlns:sch="http://cithaeron.com/schemas" >> soapenv:mustUnderstand="0"> >> <sch:ipaddress>127.0.0.2</sch:ipaddress> >> </sch:RequestHeader> >> </soapenv:Header> >> <soapenv:Body> >> <sch:AuthenticationRequest xmlns:sch="http://cithaeron.com/schemas"> >> <sch:loginName>remvoed</sch:loginName> >> <sch:password>removed</sch:password> >> </sch:AuthenticationRequest> >> </soapenv:Body> >> </soapenv:Envelope> >> >> The code below was run with XmlBeans but the same behavior was seen with ADB >> >> final PublicServiceStub publicStub = new >> PublicServiceStub(zeusPublicUrl); >> >> final RequestHeaderDocument requestHeaderDoc = >> RequestHeaderDocument.Factory.newInstance(); >> final RequestHeaderDocument.RequestHeader requestHeader = >> requestHeaderDoc.addNewRequestHeader(); >> requestHeader.setIpaddress("127.0.0.1"); >> requestHeader.setServerId("192.168.1.1"); >> requestHeader.setSessionId("mySessionId"); >> >> >> final AuthenticationRequestDocument requestDoc = >> AuthenticationRequestDocument.Factory.newInstance(); >> final AuthenticationRequestDocument.AuthenticationRequest >> request = requestDoc.addNewAuthenticationRequest(); >> request.setLoginName("removed"); >> request.setPassword("removed"); >> final AuthenticationResponseDocument responseDoc = >> publicStub.authentication(requestDoc, requestHeaderDoc); >> final AuthenticationResponseDocument.AuthenticationResponse >> response = responseDoc.getAuthenticationResponse(); >> log.info("serverId: " + response.getServerId()); >> log.info("sessionId: " + response.getSessionId()); >> log.info("ipaddress: " + response.getIpaddress()); >> >> >> -Fazle >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: java-user-unsubscr...@axis.apache.org >> For additional commands, e-mail: java-user-h...@axis.apache.org >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-user-unsubscr...@axis.apache.org > For additional commands, e-mail: java-user-h...@axis.apache.org > >
--------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@axis.apache.org For additional commands, e-mail: java-user-h...@axis.apache.org