[ 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]