[ http://issues.apache.org/jira/browse/AXIS2-1103?page=comments#action_12432267 ] Todd Doolittle commented on AXIS2-1103: ---------------------------------------
Ajith, No, I am not reusing the stub. I just have one call in my test code. Thanks! Todd > Generated client code doesn't handle SOAPAction correctly > --------------------------------------------------------- > > Key: AXIS2-1103 > URL: http://issues.apache.org/jira/browse/AXIS2-1103 > Project: Apache Axis 2.0 (Axis2) > Issue Type: Bug > Affects Versions: M2 > Environment: Windows XP, Java 1.5.0_08 > Reporter: Todd Doolittle > > I'm using the nightly build from 08/31/2006. I am creating a client using > wsdl2java. The WSDL specified a soapAction="" for the operation "Getinfo". > However the http header "SOAPAction" is being set to "urn:Getinfo". > In the generated stub, the method Getinfo() specifically sets the action="" > in the options for both the messageContext and the operationContext which > would appear to be correct accorind to the WSDL. However when the message is > received by the server it contains the header SOAPAction: "urn:Getinfo". > I added code to the Getinfo method in the stub to print the action for > options in both the messageContext and operationConext just before the > operationContext.execute() call and right after the > operationContext.execute() call. Just before the call both the > messageContext and the operationContext's action is set to "" in their > respective options. However, right after the operationContext.execute() call > the messageContext's action is set to "urn:Getinfo" in it's options (the > opertionContext's action in it's options is still set to ""). > I am working around this by calling > _messageContext.getAxisOperation().setSoapAction("") just before the > operationContext.execute() call. But I don't believe I should have to do > this. > Note, in the release 1.0 version of Axis 2, it appears to work correctly > (i.e. the SOAPAction header is "" when the WSDL specifies the soapAction=""). > Here is the WSDL that was used to generate the client code. I was using ADB > databinding if it matters. > <?xml version="1.0" encoding="UTF-8" standalone="no" ?> > <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > name="POC" targetNamespace="http://tempuri.org/" > xmlns:fjs="http://tempuri.org/" > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema"> > <wsdl:types> > <xsd:schema elementFormDefault="qualified" > targetNamespace="http://tempuri.org/" > xmlns:s1="http://tempuri.org/"> > <xsd:element name="lookup"> > <xsd:complexType> > <xsd:sequence> > <xsd:element > maxOccurs="unbounded" minOccurs="0" > name="upc" > nillable="true" type="xsd:string" /> > </xsd:sequence> > <xsd:attribute name="count" > type="xsd:int" > use="required" /> > </xsd:complexType> > </xsd:element> > <xsd:element name="GetinfoResponse"> > <xsd:complexType> > <xsd:sequence> > <xsd:element name="item" > nillable="true"> > <xsd:complexType> > <xsd:sequence> > > <xsd:element maxOccurs="unbounded" > > minOccurs="0" name="item" nillable="true"> > > <xsd:complexType> > > <xsd:sequence> > > <xsd:element name="ksn" > > nillable="true" type="xsd:int" /> > > <xsd:element name="upc" > > nillable="true" type="xsd:string" /> > > <xsd:element > > name="maintdt" nillable="true" type="xsd:date" /> > > <xsd:element name="dpt" > > nillable="true" type="xsd:int" /> > > </xsd:sequence> > > <xsd:attribute name="count" > > type="xsd:int" use="required" /> > > </xsd:complexType> > > </xsd:element> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > </xsd:schema> > </wsdl:types> > <wsdl:message name="GetinfoIn"> > <wsdl:part element="fjs:lookup" name="parameters" /> > </wsdl:message> > <wsdl:message name="GetinfoOut"> > <wsdl:part element="fjs:GetinfoResponse" name="parameters" /> > </wsdl:message> > <wsdl:portType name="POCPortType"> > <wsdl:operation name="Getinfo"> > <wsdl:input message="fjs:GetinfoIn" name="lookup" /> > <wsdl:output message="fjs:GetinfoOut" > name="GetinfoResponse" /> > </wsdl:operation> > </wsdl:portType> > <wsdl:binding name="POCBinding" type="fjs:POCPortType"> > <soap:binding transport="http://schemas.xmlsoap.org/soap/http" > /> > <wsdl:operation name="Getinfo"> > <soap:operation soapAction="" style="document" /> > <wsdl:input name="lookup"> > <soap:body use="literal" /> > </wsdl:input> > <wsdl:output name="GetinfoResponse"> > <soap:body use="literal" /> > </wsdl:output> > </wsdl:operation> > </wsdl:binding> > <wsdl:service name="POC"> > <wsdl:port binding="fjs:POCBinding" name="POCPortType"> > <soap:address location="http://localhost:8090/POC/POC" > /> > </wsdl:port> > </wsdl:service> > </wsdl:definitions> -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
