Martin If you take another look the ;action= parameter is there. It just got split to the next line.
Paul On 10/27/00, Martin Gainty <[EMAIL PROTECTED]> wrote: > > > SOAP 1.2 HTTP Binding > WCF implements SOAP 1.2 HTTP binding as described in the SOAP 1.2-part 2 > (SOAP12Part2) specification with the following clarifications. > > SOAP 1.2 introduced an optional action parameter for the > application/soap+xml media type. This parameter is useful to optimize > message dispatch without requiring that the body of the SOAP message be > parsed when WS-Addressing is not used. > > a.. R2221: The application/soap+xml action parameter, when present on a > SOAP 1.2 request, must match the soapAction attribute on the > wsoap12:operation element inside the corresponding WSDL binding. > > b.. R2222: The application/soap+xml action parameter, when present on a > SOAP 1.2 message, must match wsa:Action when WS-Addressing 2004/08 or > WS-Addressing 1.0 are used. > > When WS-Addressing is disabled and an incoming request does not contain an > action parameter, message Action is considered not specified. > > You are not using WS-Addressing therefore > > the wsoap12:operation element of the SOAPAction attribute specified does > not > match the Action specified > > "http://triniforce.com/soap/sample/getStrings" > > Assuming you have a properly formed WSDL > this Appears to be a bug in WSDL2Java utility > Suggest going to JIRA for more info > http://issues.apache.org/jira/browse/AXIS2 > > Anyone else? > HTH/ > Martin-- > ---- Original Message ----- > From: "Maxim Geraskyn" <[EMAIL PROTECTED]> > To: <[email protected]> > Sent: Friday, October 26, 2007 5:30 AM > Subject: AXIS2 and .NET Interop > > > > Problem description > > -------------------------------------- > > When I call .NET service ( Visual Studio 2005 ) using > > Axis2-generated client I got exception: > > > > Exception in thread "main" org.apache.axis2.AxisFault: The input > > stream for an incoming message is null. > > at > org.apache.axis2.transport.TransportUtils.createSOAPMessage( > TransportUtils.j > ava:71) > > at > org.apache.axis2.description.OutInAxisOperationClient.handleResponse > (OutInAx > isOperation.java:326) > > at > org.apache.axis2.description.OutInAxisOperationClient.send > (OutInAxisOperatio > n.java:389) > > at > org.apache.axis2.description.OutInAxisOperationClient.executeImpl > (OutInAxisO > peration.java:211) > > at > org.apache.axis2.client.OperationClient.execute(OperationClient.java:163) > > at com.triniforce.soap.sample.Service1Stub.getStrings(Unknown Source) > > at inv.CallSoap.main(Unknown Source) > > > > Service function declaration > > --------------------------------------- > > String[] getString(String []); > > > > Schema > > -------------------------------------- > > <s:element name="getStrings"> > > <s:complexType> > > <s:sequence> > > <s:element minOccurs="0" maxOccurs="1" name="arg" > > type="tns:ArrayOfString"/> > > </s:sequence> > > </s:complexType> > > </s:element> > > <s:element name="getStringsResponse"> > > <s:complexType> > > <s:sequence> > > <s:element minOccurs="0" maxOccurs="1" > > name="getStringsResult" type="tns:ArrayOfString"/> > > </s:sequence> > > </s:complexType> > > </s:element> > > > > <s:complexType name="ArrayOfString"> > > <s:sequence> > > <s:element minOccurs="0" maxOccurs="unbounded" name="string" > > nillable="true" type="s:string"/> > > </s:sequence> > > </s:complexType> > > > > Calling code > > -------------------------------------- > > Service1Stub stub = new Service1Stub(null, > > "http://localhost:8091/Service1.asmx"); > > GetStringsResponse res; > > GetStrings arg = new GetStrings(); > > ArrayOfString arr1 = new ArrayOfString(); > > arr1.setString(new String[]{"Str1", null, "Str2"}); > > arg.setArg(arr1); > > stub.getStrings(arg); > > > > Request data > > -------------------------------------- > > POST /Service1.asmx HTTP/1.1 > > Content-Type: application/soap+xml; charset=UTF-8; > > action="http://triniforce.com/soap/sample/getStrings" > > User-Agent: Axis2 > > Host: localhost:8091 > > Transfer-Encoding: chunked > > > > 158 > > <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope > > > xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope > "><soapenv:Body><ns1:g > etStrings > > > xmlns:ns1="http://triniforce.com/soap/sample > "><ns1:arg><ns1:string>Str1</ns1 > > :string><ns1:string>Str</ns1:string><ns1:string>Str2</ns1:string></ns1:arg>< > /ns1:getStrings></soapenv:Body></soapenv:Envelope> > > 0 > > > > Answer data > > -------------------------------------- > > HTTP/1.1 400 Bad Request > > Server: ASP.NET Development Server/8.0.0.0 > > Date: Fri, 26 Oct 2007 08:45:01 GMT > > X-AspNet-Version: 2.0.50727 > > Cache-Control: private > > Content-Length: 0 > > Connection: Close > > > > > > Axis 1.4 > > ------------------------------ > > Axis 1.4 works better > > > > > > Axis 1.4 request data > > ------------------------------ > > POST /Service1.asmx HTTP/1.0 > > Content-Type: text/xml; charset=utf-8 > > Accept: application/soap+xml, application/dime, multipart/related, > text/* > > User-Agent: Axis/1.4 > > Host: localhost:8091 > > Cache-Control: no-cache > > Pragma: no-cache > > SOAPAction: "http://triniforce.com/soap/sample/getStrings" > > Content-Length: 381 > > > > Axis 1.4 response data > > ------------------------------- > > HTTP/1.1 200 OK > > Server: ASP.NET Development Server/8.0.0.0 > > Date: Fri, 26 Oct 2007 08:54:24 GMT > > X-AspNet-Version: 2.0.50727 > > Cache-Control: private, max-age=0 > > Content-Type: text/xml; charset=utf-8 > > Content-Length: 408 > > Connection: Close > > > > <?xml version="1.0" encoding="utf-8"?><soap:Envelope > > xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > > xmlns:xsd="http://www.w3.org/2001/XMLSchema > "><soap:Body><getStringsResponse > > > xmlns="http://triniforce.com/soap/sample > "><getStringsResult><string>Str1</st > > ring><string>Str3</string></getStringsResult></getStringsResponse></soap:Bod > y></soap:Envelope> > > > > Some thoughts > > ------------------------------- > > Axis 1.4 can call .NET service, but does not pass null element of array. > > Axis2 1.4 generates correct xml request, including null, but > > obviously .net does not understand http headeres. > > > > If I send xml generated by Axis2 using SoapUI tool, it works perect. > > SoapUI headers: > > POST /Service1.asmx HTTP/1.1 > > Content-Type: text/xml;charset=UTF-8 > > SOAPAction: "http://triniforce.com/soap/sample/getStrings" > > User-Agent: Jakarta Commons-HttpClient/3.0.1 > > Host: localhost:8091 > > Content-Length: 453 > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Paul Fremantle Co-Founder and VP of Technical Sales, WSO2 OASIS WS-RX TC Co-chair blog: http://pzf.fremantle.org [EMAIL PROTECTED] "Oxygenating the Web Service Platform", www.wso2.com
