Dear All,
I am facing the similar problem as posted in this post.I have done RND on google but could not find anything .Please advise. Thanks and Regards, Anita sh_santosh wrote: > > Dear All, > > I need to expose java web services. I am using Axis1.4, Java 1.5 and > Tomcat 5.0 for exposing services. > > SOAP request and SOAP response have 'authentication' tag in SOAP header. > > SOAP Request - > > <S:Envelope> > <S:Header> > <authentication> > <userid>UserName</userid> > <password>Password</password> > </authentication> > </S:Header> > <S:Body> > <OTA_TestAvailRQ EchoToken="LI" Target="Production" > Version="1.0"> > ....................................... > </OTA_TestAvailRQ> > </S:Body> > </S:Envelope> > -------------------------------------------------------------- > SOAP response - > > <S:Envelope> > <S:Header> > <wsp:authentication> > <wsp:userid>XXUserName</wsp:userid> > <wsp:password>XXPassword</wsp:password> > <wsp:payloadVersion>2007B</wsp:payloadVersion> > </wsp:authentication> > </S:Header> > <S:Body> > <OTA_TestAvailRS EchoToken="LI" PrimaryLangID="en" > Target="Production" > TimeStamp="2009-03-24T20:26:37.058+01:00" Version="1.006"> > ................ > </OTA_TestAvailRS> > </S:Body> > </S:Envelope> > > By seeing the SOAP message structure, we have decided to add SOAP header > explicitly in WSDL. > We are NOT able to differentiate between SOAP request and SOAP response > 'authentication' tag in WSDL. > > We have attempted to solve the above problem by creating 2 different type > of WSDL. > Please have look into these wsdl. > > WSDL-1 : > > <wsdl:definitions targetNamespace="http://test.com" > xmlns:tns="http://test.com" > xmlns="http://schemas.xmlsoap.org/wsdl/" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema"> > <wsdl:types> > <xsd:schema targetNamespace="http://test.com"> > <!-- SOAP Request Header --> > <xsd:element name="Authentication"> > <xsd:complexType> > <xsd:sequence> > <xsd:element minOccurs="1" > maxOccurs="1" name="userid" type="xsd:string"/> > <xsd:element minOccurs="1" > maxOccurs="1" name="password" type="xsd:string"/> > > </xsd:sequence> > </xsd:complexType> > </xsd:element> > <!-- SOAP Response Header --> > <xsd:element name="Authentication"> > <xsd:complexType> > <xsd:sequence> > <xsd:element minOccurs="1" > maxOccurs="1" name="userid" type="xsd:string"/> > <xsd:element minOccurs="1" > maxOccurs="1" name="password" type="xsd:string"/> > <xs:element minOccurs="1" > maxOccurs="1" name="payloadVersion" type="xs:string"/> > > </xsd:sequence> > </xsd:complexType> > </xsd:element> > </xsd:schema> > </wsdl:types> > > > <wsdl:message name="HelloMessage"> > <wsdl:part name="headerRQ" element="tns:Authentication"/> > <wsdl:part name="body" type="xsd:string"/> > </wsdl:message> > <wsdl:message name="HelloMessageResponse"> > <wsdl:part name="headerRS" element="tns:Authentication"/> > <wsdl:part name="body" type="xsd:string"/> > </wsdl:message> > <wsdl:portType name="HelloPortType"> > <wsdl:operation name="sayHello"> > <wsdl:input message="tns:HelloMessage"/> > <wsdl:output message="tns:HelloMessageResponse"/> > </wsdl:operation> > </wsdl:portType> > <wsdl:binding name="HelloBinding" type="tns:HelloPortType"> > <wsdlsoap:binding style="rpc" > transport="http://schemas.xmlsoap.org/soap/http" /> > <wsdl:operation name="sayHello"> > <wsdlsoap:operation soapAction="" /> > <wsdl:input> > <wsdlsoap:body use="literal"/> > <wsdlsoap:header part="header" use="literal"/> > </wsdl:input> > <wsdl:output> > <wsdlsoap:body use="literal"/> > <wsdlsoap:header part="header" use="literal"/> > </wsdl:output> > </wsdl:operation> > </wsdl:binding> > <wsdl:service name="HelloService"> > <wsdl:port binding="tns:HelloBinding" name="HelloPort"> > <wsdlsoap:address > location="http://localhost:8080/hello-service/hello-service"/> > </wsdl:port> > </wsdl:service> > </wsdl:definitions> > > WSDL-2 : > > <wsdl:definitions targetNamespace="http://test.com" > xmlns:tns="http://test.com" > xmlns="http://schemas.xmlsoap.org/wsdl/" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema"> > <wsdl:types> > <xsd:schema targetNamespace="http://test.com"> > <!-- SOAP Request Header --> > <xsd:element name="Authentication"> > <xsd:complexType> > <xsd:sequence> > <xsd:element minOccurs="1" > maxOccurs="1" name="userid" type="xsd:string"/> > <xsd:element minOccurs="1" > maxOccurs="1" name="password" type="xsd:string"/> > > </xsd:sequence> > </xsd:complexType> > </xsd:element> > <!-- SOAP Response Header --> > <xsd:element name="Authentication"> > <xsd:complexType> > <xsd:sequence> > <xsd:element minOccurs="1" > maxOccurs="1" name="userid" type="xsd:string"/> > <xsd:element minOccurs="1" > maxOccurs="1" name="password" type="xsd:string"/> > <xs:element minOccurs="1" > maxOccurs="1" name="payloadVersion" type="xs:string"/> > > </xsd:sequence> > </xsd:complexType> > </xsd:element> > </xsd:schema> > </wsdl:types> > > <wsdl:message name="headerRQ"> > <wsdl:part name="header" element="tns:Authentication"/> > </wsdl:message> > > <wsdl:message name="headerRS"> > <wsdl:part name="header" element="tns:Authentication"/> > </wsdl:message> > > <wsdl:message name="HelloMessage"> > <wsdl:part name="body" type="xsd:string"/> > </wsdl:message> > > <wsdl:message name="HelloMessageResponse"> > <wsdl:part name="body" type="xsd:string"/> > </wsdl:message> > > <wsdl:portType name="HelloPortType"> > <wsdl:operation name="sayHello"> > <wsdl:input message="tns:HelloMessage"/> > <wsdl:output message="tns:HelloMessageResponse"/> > </wsdl:operation> > </wsdl:portType> > > <wsdl:binding name="HelloBinding" type="tns:HelloPortType"> > <wsdlsoap:binding style="rpc" > transport="http://schemas.xmlsoap.org/soap/http" /> > <wsdl:operation name="sayHello"> > <wsdlsoap:operation soapAction="" /> > <wsdl:input> > <wsdlsoap:body use="literal"/> > <wsdlsoap:header message="tns:headerRQ" part="header" > use="literal"/> > </wsdl:input> > <wsdl:output> > <wsdlsoap:body use="literal"/> > <wsdlsoap:header message="tns:headerRS" part="header" > use="literal"/> > </wsdl:output> > </wsdl:operation> > </wsdl:binding> > > <wsdl:service name="HelloService"> > <wsdl:port binding="tns:HelloBinding" name="HelloPort"> > <wsdlsoap:address > location="http://localhost:8080/hello-service/hello-service"/> > </wsdl:port> > </wsdl:service> > </wsdl:definitions> > > > Please advise. > > Regards, > Santosh > -- View this message in context: http://www.nabble.com/How-to-add-explicit-SOAP-header-in-WSDL-for-generating-SOAP-message---Axis1.4-tp25747709p25763209.html Sent from the Axis - User mailing list archive at Nabble.com.
