Thanks for your reply, Anne, however it does not seem to make any difference. I have attached my updated WSDL, from which I regenerated the Axis classes and re-deployed the service, but I'm getting the exact same SOAP message as before.
I wondered if perhaps the soap:header message should be capitalized to tns:ProcessMessageIn, but that did not help, either. Any other thoughts? > Matt, > > A few mistakes in your WSDL: > > You must specify the <soap:body> definition before the <soap:header> > definition. Because you have defined two parts in the message, the > <soap:body> must include the "parts" attribute and specify the specific > part > that goes in the body. Your <soap:header> must refer to the message > (tns:processMessageIn) that contains the header part definition. E.g., > > <input> > <soap:body parts="processMessage" > use="literal"/> > <soap:header > message="tns:processMessageIn" > part="requestHeader" > use="literal"/> > </input> > > Anne > On 5/17/06, Matt Magoffin <[EMAIL PROTECTED]> wrote: >> >> Hello, I am trying to work with a WSDL that requires a header element, >> and >> am having trouble getting Axis 1.4 to correctly generate the SOAP >> message. >> I've generated Axis classes from the WSDL. The best I've been able to do >> is get the header element to show up correctly in the SOAP header, but >> then it also shows up as the body element, with the expected body >> element >> as a child, like this (XML truncated as to simplify): >> >> <soapenv:Envelope >> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" ... >> <soapenv:Header> >> <ns1:payloadManifest >> xmlns:ns1="http://www.starstandards.org/webservices/... >> <manifest element="ProcessSalesLead" id="Content0" >> namespaceURI="... >> </ns1:payloadManifest> >> </soapenv:Header> >> <soapenv:Body> >> <payloadManifest >> xmlns="http://www.starstandards.org/webservices/2003/12/transport"> >> <ProcessMessage/> >> </payloadManifest> >> </soapenv:Body> >> </soapenv:Envelope> >> >> Here the <ns1:payloadManifest> element is as expected in the >> <soapenv:Header> but the expected element in <soapenv:Body> is the >> <ProcessMessage/> element, not another <payloadManifest> element. >> >> The relevant WSDL I have is arranged as such: >> >> <message name="ProcessMessageIn"> >> <part name="processMessage" >> element="starws:ProcessMessage"/> >> <part name="requestHeader" >> element="starws:payloadManifest"/> >> </message> >> >> <message name="ProcessMessageOut"> >> <part name="processMessageResponse" >> element="starws:ProcessMessageResponse"/> >> <part name="responeHeader" >> element="starws:payloadManifest"/> >> </message> >> >> <portType name="StarTransportPortTypes"> >> <operation name="ProcessMessage"> >> <input message="tns:ProcessMessageIn"/> >> <output message="tns:ProcessMessageOut"/> >> </operation> >> </portType> >> >> <binding name="StarTransport" type="tns:StarTransportPortTypes"> >> <soap:binding transport=" >> http://schemas.xmlsoap.org/soap/http" >> style="document"/> >> <operation name="ProcessMessage"> >> <soap:operation >> soapAction=" >> http://www.starstandards.org/.../ProcessMessage" >> style="document"/> >> <input> >> <soap:header >> message="tns:ManifestHeader" >> part="requestHeader" >> use="literal"/> >> <soap:body use="literal"/> >> </input> >> <output> >> <soap:header >> message="tns:ManifestHeader" >> part="responseHeader" >> use="literal"/> >> <soap:body use="literal"/> >> </output> >> </operation> >> </binding> >> >> Anything look fishy here? I'm at a loss at this point... I've attached >> the >> full WSDL for reference. >> >> -- m@ >> >> >> >
StarTransport.wsdl
Description: Binary data
