Expand my Community achievements bar.

Calling Soap WS in .Net, server returns "no SOAPAction header!"

Avatar

Level 1

Hi ,

Here is my code in .Net , any clue what's wrong.:

          RightsManagementServiceClient rmClient = new RightsManagementServiceClient();

            rmClient.ClientCredentials.UserName.UserName = "****";

            rmClient.ClientCredentials.UserName.Password = "****;

            EventSpec eventFilter = new EventSpec();

           

            eventFilter.eventCode = "999";

            eventFilter.firstTime = new DATE();

            eventFilter.firstTime.date = DateTime.Now.AddDays(-2);

            eventFilter.lastTime = new DATE();

            eventFilter.lastTime.date = DateTime.Now;

           

            var results = rmClient.searchForEvents(eventFilter, 500);

Config file :

  <system.serviceModel>

    <bindings>

    

      <wsHttpBinding>

        <binding name="RightMngtBinding" messageEncoding="Mtom">

          <security mode="TransportWithMessageCredential">

            <transport clientCredentialType="Basic" proxyCredentialType="None" />

            <message clientCredentialType="UserName" />

          </security>

        </binding>

      </wsHttpBinding>

    </bindings>

    <client>

      <endpoint address="https://adobelc.myintranet.net/soap/services/RightsManagementService"

        binding="wsHttpBinding" bindingConfiguration="RightMngtBinding"

        contract="RightsManagement.RightsManagementService" name="RightsManagementService" />

    

    </client>

  </system.serviceModel>

Log on JBoss:

2012-08-21 18:41:14,138 ERROR [org.apache.axis.EXCEPTIONS] (http-10.152.100.110-443-11) Generating fault class

AxisFault

faultCode: {http://xml.apache.org/axis/}Client.NoSOAPAction

faultSubcode:

faultString: no SOAPAction header!

faultActor:

faultNode:

faultDetail:

          {http://xml.apache.org/axis/}stackTrace:no SOAPAction header!

          at org.apache.axis.transport.http.AxisServlet.getSoapAction(AxisServlet.java:1013)

          at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:678)

          at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)

          at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)

          at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

          at com.adobe.idp.dsc.provider.impl.soap.axis.InvocationFilter.doFilter(InvocationFilter.java:43)

          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

          at com.adobe.idp.um.auth.filter.CSRFFilter.doFilter(CSRFFilter.java:86)

          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

          at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

          at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)

          at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

          at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:183)

          at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95)

          at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)

          at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)

          at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)

          at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

          at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)

          at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

          at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)

          at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:905)

          at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:592)

          at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:2036)

          at java.lang.Thread.run(Thread.java:662)

          {http://xml.apache.org/axis/}hostname:FRCLG11MTDPLC1

thank you

2 Replies

Avatar

Level 1

it should be

basicHttpBinding

even if it https.

Avatar

Level 1

Did you end up getting this to work?

We are using the Rights management service successfully when working with policies etc but when we try to return data by consuming the 'searchForEvents' method using the sample code which matches yours - all we get returned is an empty object. We can use the same criteria to export a test file by consuming the service 'exportevents' and the contents of the text file are as expected.

Its a bit strange and I'd be interested to know if anyone has used this successfully.

Cheers