Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    Need to send HTTP Header 'SOAPAction'

    App Server: JBoss [Default Axis Implementation]

    A standard web service has been declared in a *.jws file, generating the required wsdl document. This gives us access to the service and messages with types.

    The invocation of the service, in Axis world, requires a standard HTTP Header "SOAPAction", to map the operation name within the exposed service.

    Is there a simple method of declaring this to an object with the WebService associated classes?

    @see the log extract below ;)

    =======================================================
    Code:
    16:57:42,412 ERROR [EXCEPTIONS] 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:717)
    	at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    	at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
    	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
    	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
    	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    	at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
    	at java.lang.Thread.run(Thread.java:595)
    =======================================================

    #2
    Hello mclaughlin_pc,

    SmartClient's WSDL binding will pick up the SOAPAction declaration in the WSDL file and pass it as an HTTP header. The problem might be in the WSDL file. Can you post at least the relevant sections (where the SOAPAction header is declared and the bindings to the portType / operation).

    Comment

    Working...
    X