thank you very much for your replay.
I checked with an axis2 server and it sends the To header correctly.
So is this a WCF bug?
I'll try to run axis2 against the mircrosoft test suite. to figure out and
problems with axis2 before next release.
thanks,
Amila.
On 6/29/07, David Illsley <[EMAIL PROTECTED]> wrote:
I can't be sure without further digging, but it looks like the problem
is that the WCF endpoint has omitted the wsa:To header from the
response, despite the fact that the Submission spec[1] says that it's
mandatory:
/wsa:To
This REQUIRED element (of type xs:anyURI) provides the value for
the [destination] property.
David
[1] http://www.w3.org/Submission/2004/SUBM-ws-addressing-20040810/
On 29/06/07, Amila Suriarachchi <[EMAIL PROTECTED]> wrote:
> I generated Code for the following wsdl [1] which is listed in the
microsoft
> interop site.
> used the following command to codegen with a build I locally created for
the
> current svn.
>
> sh wsdl2java.sh -uri
>
http://131.107.72.15/WSAddressingCR_Service_WCF/WSAddressingAugust2004.svc?wsdl
> -o ~/projects/microsoftInterop/addressing/ -ap -uw -u -p
> org.tempuri.submission.echo
>
> try to send a request to CustomBinding_Echo2 in following way
>
> public void testCustomBinding_Echo2() {
> try {
> WSAddressingCRCustomBinding_Echo2Stub stub =
> new WSAddressingCRCustomBinding_Echo2Stub(
> configurationContext,
> "
>
http://131.107.72.15/WSAddressingCR_Service_WCF/WSAddressingAugust2004.svc/Soap11/Manual
");
>
> stub._getServiceClient().getOptions().setProperty(
> AddressingConstants.WS_ADDRESSING_VERSION,
>
> AddressingConstants.Submission.WSA_NAMESPACE);
>
> stub._getServiceClient().getOptions().setProperty(
AddressingConstants.INCLUDE_OPTIONAL_HEADERS
> ,true);
>
> // this is to redirect the message to tcpmon with out
changing
> the To field
>
> stub._getServiceClient().getOptions().setProperty(
Constants.Configuration.TRANSPORT_URL,
>
>
"http://localhost:8085/WSAddressingCR_Service_WCF/WSAddressingAugust2004.svc/Soap11/Manual
");
>
> String result = stub.Echo("Test String");
> assertEquals(result,"Test String");
> } catch (AxisFault axisFault) {
> axisFault.printStackTrace();
> fail();
> } catch (java.rmi.RemoteException e) {
> fail();
> }
> }
>
> here configuration context is point to defult axis2.xml and repository.
>
> I got the follwing exception
> org.apache.axis2.AxisFault: A required message information header, To,
> MessageID, or Action, is not present.
> at
>
org.apache.axis2.addressing.AddressingFaultsHelper.triggerAddressingFault(
AddressingFaultsHelper.java
> :352)
> at
>
org.apache.axis2.addressing.AddressingFaultsHelper.triggerMessageAddressingRequiredFault
(AddressingFaultsHelper.java:272)
> at
>
org.apache.axis2.handlers.addressing.AddressingSubmissionInHandler.checkForMandatoryHeaders
> (AddressingSubmissionInHandler.java:53)
> at
>
org.apache.axis2.handlers.addressing.AddressingInHandler.extractAddressingInformation
(AddressingInHandler.java:185)
> at
> org.apache.axis2.handlers.addressing.AddressingInHandler.invoke
> (AddressingInHandler.java:94)
> at org.apache.axis2.engine.Phase.invoke(Phase.java:288)
> at
> org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:225)
> at
> org.apache.axis2.engine.AxisEngine.receive (AxisEngine.java
> :146)
> at
> org.apache.axis2.description.OutInAxisOperationClient.handleResponse(
OutInAxisOperation.java:345)
> at
> org.apache.axis2.description.OutInAxisOperationClient.send (
OutInAxisOperation.java:388)
> at
> org.apache.axis2.description.OutInAxisOperationClient.executeImpl(
OutInAxisOperation.java:202)
> at
> org.apache.axis2.client.OperationClient.execute(OperationClient.java:142)
> at
> org.tempuri.submission.echo.WSAddressingCRCustomBinding_Echo2Stub.Echo
> (WSAddressingCRCustomBinding_Echo2Stub.java:178)
> at
>
org.tempuri.submission.echo.WSAddressingCRSubmissionTest.testCustomBinding_Echo2(
WSAddressingCRSubmissionTest.java:184)
> at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native
> Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(
NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke (Method.java:585)
>
> Here is the request and response messages
> <?xml version='1.0' encoding='UTF-8'?>
> <soapenv:Envelope xmlns:wsa="
> http://schemas.xmlsoap.org/ws/2004/08/addressing "
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
> <soapenv:Header>
>
>
<wsa:To>http://131.107.72.15/WSAddressingCR_Service_WCF/WSAddressingAugust2004.svc/Soap11/Manual
</wsa:To>
> <wsa:ReplyTo>
>
> <wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous
</wsa:Address>
> </wsa:ReplyTo>
>
> <wsa:MessageID>urn:uuid:A26E71AFEBE8477B8D1183128682560</wsa:MessageID>
> <wsa:Action>http://example.org/action/echoIn
> </wsa:Action>
> </soapenv:Header>
> <soapenv:Body>
> <s1:echoIn xmlns:s1=" http://example.org/echo">Test
> String</s1:echoIn>
> </soapenv:Body>
> </soapenv:Envelope>0
>
> response
> <s:Envelope
> xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:a="
> http://schemas.xmlsoap.org/ws/2004/08/addressing ">
> <s:Header>
> <a:Action s:mustUnderstand="1">
> http://example.org/action/echoOut</a:Action>
>
> <a:RelatesTo>urn:uuid:A26E71AFEBE8477B8D1183128682560</a:RelatesTo>
> </s:Header>
> <s:Body>
> <echoOut xmlns=" http://example.org/echo ">Test String</echoOut>
> </s:Body></s:Envelope>
>
> A part from CustomBinding_Echo2 and CustomBinding_Echo3 ports in
submmision
> wsdl all other ports works fine.
> (i.e final version wsdl works fine for all casses)
>
> Can someone please explain the reason?
>
> Thanks
> Amila.
>
> [1]
>
http://131.107.72.15/WSAddressingCR%5FService%5FWCF/WSAddressingAugust2004.svc?wsdl
> [2]http://131.107.72.15/WSAddressingCR%5FService%5FWCF/
> - first page
> --
> Amila Suriarachchi,
> WSO2 Inc.
--
David Illsley - IBM Web Services Development
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
Amila Suriarachchi,
WSO2 Inc.