[
https://issues.apache.org/jira/browse/AXIS-2411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12517856
]
Dominic Battre commented on AXIS-2411:
--------------------------------------
I think that this is a bug in the Axis implementation (persists in Axis 1.4).
The org.apache.axis.message.SOAPHeaderElement has in its constructor public
SOAPHeaderElement(Element elem) the lines
QName roleQName = soapConstants.getRoleAttributeQName();
actor = elem.getAttributeNS(roleQName.getNamespaceURI(),
roleQName.getLocalPart());
// if (actor == null) {
// actor = "";
// }
elem.getAttributeNS returns "" if no such attribute exists. This causes the
serialization to create the soap:actor="" attribute.
I think that this contradicts the SOAP specification because it explicitly
assumes that the soap:actor attribute may be *missing* (not empty) as you can
see here http://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Toc478383499
I propose to change the lines
// if (actor == null) {
// actor = "";
// }
to
if ( "".equals(actor) ) {
actor = null;
}
I have tested this and it solved our problems of Active BPEL calling a Globus
Toolkit Service.
> when soap header is set like soapenv:actor="" with wss4j axis is throwing
> exception
> ------------------------------------------------------------------------------------
>
> Key: AXIS-2411
> URL: https://issues.apache.org/jira/browse/AXIS-2411
> Project: Axis
> Issue Type: Bug
> Components: Basic Architecture
> Reporter: prasanth r marreddy
>
> when soap header is set like soapenv:actor="" with wss4j axis is throwing
> exception
> this is the header
> <?xml version="1.0" encoding="UTF-8"?>
> <soap:Envelope xmlns:rep="http://www.alfresco.org/ws/service/repository/1.0"
> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
> <soap:Header>
> <wsse:Security soap:actor="" soap:mustUnderstand="0">
> <wsse:UsernameToken>
> <wsse:Username>admin</wsse:Username>
> <wsse:Password
> Type="wsse:PasswordText">TICKET_2dabeefd-9f85-11da-8848-a5b39e6b8248</wsse:Password>
> <wsse:Nonce/>
> </wsse:UsernameToken>
> </wsse:Security>
> </soap:Header>
> <soap:Body>
> <rep:getStores/>
> </soap:Body>
> </soap:Envelope>
> it is giving me this server error
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> <soapenv:Body>
> <soapenv:Fault>
> <faultcode
> xmlns:ns1="http://xml.apache.org/axis/">ns1:Server</faultcode>
> <faultstring>Server Error</faultstring>
> <detail>
> <ns2:stackTrace xmlns:ns2="http://xml.apache.org/axis/">Server
> Error
> at
> org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:473)
> at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
> at
> org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
> at
> org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
> 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.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:868)
> at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663)
> at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
> at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
> at java.lang.Thread.run(Thread.java:595)</ns2:stackTrace>
> <ns3:hostname
> xmlns:ns3="http://xml.apache.org/axis/">prasanth</ns3:hostname>
> </detail>
> </soapenv:Fault>
> </soapenv:Body>
> </soapenv:Envelope>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]