I have the same problem than below. If someone has the solution, i will
appreciate !


Shuangxi wrote:
> 
> I am developing an app using ws-security. On the client, I added
> DOMInHandler and WSS4JInHandler for the incomming message:
> 
>     ...
>     client.addInHandler(new DOMInHandler());
>     client.addInHandler(new WSS4JInHandler(inProperties));
> 
> On my server, I added DomOutHandler and WSS4JOutHandler for
> the outgoing message (for the encryption):
> 
>     ....
>     <property name="outHandlers">
>       <list>
>         <ref bean="domOutHandler" />
>         <ref bean="wss4jOutHandler" />
>       </list>
>     </property>
>     ...
> 
> If the server throws an exception when handling the service call from
> the client, I can see the client got the exception message:
> 
>     ...
>     2006-09-05 12:16:03,093 DEBUG httpclient.wire.content - << "1"^M
>     2006-09-05 12:16:03,093 DEBUG httpclient.wire.content - << "7"^M
>     2006-09-05 12:16:03,093 DEBUG httpclient.wire.content - << "5"^M
>     2006-09-05 12:16:03,093 DEBUG httpclient.wire.content - << "[\r]"^M
>     2006-09-05 12:16:03,093 DEBUG httpclient.wire.content - << "[\n]"^M
>     2006-09-05 12:16:03,093 DEBUG httpclient.wire.content - <<
> "<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";
>     xmlns:xsd="http://www.w3.org/2001/XMLSchema";
>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
>   <soap:Body><soap:Fault><faultcode
>    
> xmlns:ns1="http://coplogic.com/authentication";>ns1:INVALID_LOGIN</faultcode>
>   <faultstring>Invalid
> username/password.</faultstring></soap:Fault></soap:Body>
>   </soap:Envelope>"^M
>     2006-09-05 12:16:03,171 DEBUG org.codehaus.xfire.client.Client -
> Received
>       message to http://localhost:8080/dors/service/ReportService^
> 
> this error message goes through the client handling pipeline,
> it failed when WSS4JInHandler calls WSSecurityEngine to process the
> security  header:
> 
>   "WSS4JInHandler: Request does not contain required Security header"
> 
> It seems that the client's "in" handler expects all the messages from the
> server to be encrypted,  but the fault message doesn't look to be
> enrypted.
> 
> 
> If I add DOMOutHandler and WSS4JOutHandler to fault handlers chain like
> this
> (spring configuration):
>     ...
>     <property name="faultHandlers">
>       <list>
>         <ref bean="domOutHandler" />
>         <ref bean="wss4jOutHandler" />
>       </list>
>     </property>
>     ...
> 
> 
> I will get a NAMESPACE_ERR exception. Here is the stacktrace:
> 
> 2006-09-06 09:52:03,015 ERROR
> org.codehaus.xfire.handler.DefaultFaultHandler -
>     Could not send fault.^M org.w3c.dom.DOMException: NAMESPACE_ERR:
>     An attempt is made to create or change
>     an object in a way which is incorrect with regard to namespaces.^M
>   at
>   com.sun.org.apache.xerces.internal.dom.CoreDocumentImpl.checkNamespaceWF
>   (CoreDocumentImpl.java:2388)^M
>   at
>   com.sun.org.apache.xerces.internal.dom.ElementNSImpl.setName
>   (ElementNSImpl.java:143)^M
>   at
>   com.sun.org.apache.xerces.internal.dom.ElementNSImpl.<init>
>   (ElementNSImpl.java:112)^M
>   at
>   com.sun.org.apache.xerces.internal.dom.CoreDocumentImpl.createElementNS
>   (CoreDocumentImpl.java:1969)^M
>   at
>   org.apache.ws.security.util.WSSecurityUtil.createElementInSameNamespace
>   (WSSecurityUtil.java:519)^M
>   at
>   org.apache.ws.security.util.WSSecurityUtil.findWsseSecurityHeaderBlock
>   (WSSecurityUtil.java:637)^M
>   at
>   org.apache.ws.security.message.WSSecHeader.insertSecurityHeader
>   (WSSecHeader.java:134)^M
>   at
>  
> org.apache.ws.security.handler.WSHandler.doSenderAction(WSHandler.java:98)^M
>   at
>   org.codehaus.xfire.security.wss4j.WSS4JOutHandler.invoke
>   (WSS4JOutHandler.java:154)^M
>   at
>  
> org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:110)^M
>   at
>   org.codehaus.xfire.handler.DefaultFaultHandler.sendFault
>   (DefaultFaultHandler.java:83)^M
>   at
>   org.codehaus.xfire.handler.DefaultFaultHandler.invoke
>   (DefaultFaultHandler.java:46)^M
>   at
>   org.codehaus.xfire.transport.DefaultEndpoint.onReceive
>   (DefaultEndpoint.java:71)^M
>   at
>   org.codehaus.xfire.transport.AbstractChannel.receive
>   (AbstractChannel.java:38)^M
>   at
>   org.codehaus.xfire.transport.http.XFireServletController.invoke
>   (XFireServletController.java:261)^M
>   at
>   org.codehaus.xfire.transport.http.XFireServletController.doService
>   (XFireServletController.java:120)^M
>   at
>  
> org.codehaus.xfire.transport.http.XFireServlet.doPost(XFireServlet.java:116)^M
>   at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)^M
>   at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)^M
>   at
>   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
>   (ApplicationFilterChain.java:252)^
>   ...
> 
>   Caused by: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog^M
>   at [row,col {unknown-source}]: [1,0]^M
>   at
>  
> com.ctc.wstx.sr.StreamScanner.throwUnexpectedEOF(StreamScanner.java:628)^M
>   at
>  
> com.ctc.wstx.sr.BasicStreamReader.handleEOF(BasicStreamReader.java:1970)^M
>   at
>  
> com.ctc.wstx.sr.BasicStreamReader.nextFromProlog(BasicStreamReader.java:1883)^M
>   at com.ctc.wstx.sr.BasicStreamReader.next
>   (BasicStreamReader.java:1026)^M
>   at
> org.codehaus.xfire.util.STAXUtils.readDocElements(STAXUtils.java:556)^M
>   at org.codehaus.xfire.util.STAXUtils.read(STAXUtils.java:405)^M
>   at
> org.codehaus.xfire.util.dom.DOMInHandler.invoke(DOMInHandler.java:42)^M
>   at
>  
> org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:110)^M
>   at org.codehaus.xfire.client.Client.onReceive(Client.java:382)^M
>   ... 13 more^M
> 
> 
> Please help.
> 
> Thanks,
> shuangxi
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe from this list please visit:
> 
>     http://xircles.codehaus.org/manage_email
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/ws-security--exception-fault-handling-tf2241051.html#a9065283
Sent from the XFire - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

Reply via email to