Re: Axis Fault: Must Understand check failed for header

Kishanthan Thangarajah <[email protected]>
Newsgroups gmane.text.xml.axis.user
Message-ID <CAHt68vHsQwkzpntceddTX8JEftKGg=uhHAiURgOmj-DeMzaPAw@mail.gmail.com>
Can you try engaging the "addressing" module on the client side and try
again?

For example it can be done by the following code segment

ServiceClient serviceClient = stub._getServiceClient();
serviceClient.engageModule("addressing");

You need to have addressing module related libraries in your client class
path.


On Wed, Sep 25, 2013 at 1:24 AM, Harish Kumar <[email protected]>wrote:

> Hi,
>
>       I am using Axis2 1.5, to consume WCF service. Axis2 Client is based
> on java(1.7)
> mentioned below sample code and Error. WCF Service is running in secure
> mode and i have generated
> client stub directly from wcf url. I have also imported required
> certificate into client Keystore.
>
> When i invoke operation on WCF service, i get error as org.apache.axis2.AxisFault:
> Must Understand check failed for header
> http://www.w3.org/2005/08/addressing : Action.
>
> I googled and tried various solution but did not help. For Example tried
> following.
>
> stub._getServiceClient().getServiceContext().getConfigurationContext().setProperty(AddressingConstants.ADD_MUST_UNDERSTAND_TO_ADDRESSING_HEADERS,
>      Boolean.FALSE);
>
> Can anyone suggest, how to fix it?
>
> Code
> ====
> System.setProperty("javax.net.ssl.keyStore", "C:\\Program Files
> (x86)\\Java\\jdk1.7.0\\jre\\lib\\security\\cacerts");
> System.setProperty ("javax.net.ssl.keyStorePassword", "changeit");
> System.setProperty("javax.net.ssl.keyStoreType", "jks");
>  System.setProperty("javax.net.ssl.trustStore","C:\\Program Files
> (x86)\\Java\\jdk1.7.0\\jre\\lib\\security\\cacerts");
> System.setProperty("javax.net.ssl.trustStorePassword","changeit");
> System.setProperty("javax.net.ssl.trustStoreType","jks");
>
> SKMSSystemInfoServiceStub  stub = new SKMSSystemInfoServiceStub();
>  GetUtilitySecurityLevelInfoDocument utilDoc =
> GetUtilitySecurityLevelInfoDocument.Factory.newInstance();
> GetUtilitySecurityLevelInfo  info =
> utilDoc.addNewGetUtilitySecurityLevelInfo();
> GetUtilitySecurityLevelInfoRequest request = info.addNewRequest();
> request.setUtilityCode("utc");
> stub.getUtilitySecurityLevelInfo(utilDoc);
>
> Error
> org.apache.axis2.AxisFault: Must Understand check failed for header
> http://www.w3.org/2005/08/addressing : Action
>  at
> org.apache.axis2.engine.AxisEngine.checkMustUnderstand(AxisEngine.java:105)
>  at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:171)
> at
> org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:364)
> at
> org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:421)
>  at
> org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
>  at
> org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
>
>
> Thanks,
> Harish
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.