2016-02-24 19 views
8

CXF - ws güvenliğini ve weblogic 10.3'te dağıtılan uygulamayı içeren CXF çerçevesini kullanarak bir web servis çağrısı yapmaya çalışıyoruz. Aşağıdaki istisna ve weblogic özgü kavanozlar gibi görünüyor, xercesimpl kavanoz/WEB-INF/lib uygulamada mevcut olmasına rağmen.CXF 3.0.2 "java.lang.AssertionError: UNIMPLEMENTED" istisnasının weblogic10.3'e atılması

Seçenekler çalıştı, ancak yardım etmedi:

  1. web inf tercihleri ​​

gerçek ile weblogic konteyner tanımlayıcısı ayarlama.

-Djavax.xml.soap.MessageFactory = com.sun.xml.internal.messaging.saaj.soap -

  1. olarak JVM argümanlar veya sistem özelliğinin ayarlanması .ver1_1.SOAPMessageFactory1_1Impl -Djavax.xml.soap.SOAPFactory = com.sun.xml.internal.messaging.saaj.soap.ver1_1.SOAPFactory1_1Impl -Djavax.xml.soap.SOAPConnectionFactory = weblogic.wsee.saaj.SOAPConnectionFactoryImpl

    1. xercesimpl jar'in maven pom'e eklenmesi.

      durum

      ServletException arasında

      ]] Kök neden olur. java.lang.AssertionError: org.apache.jcp.xml.dsig.internal.dom.XmlWriterToTree.writeAttribute (XmlWriterToTree.java de weblogic.xml.domimpl.NodeImpl.setTextContent (NodeImpl.java:216) de uygulanmayan: 137) org.apache.jcp.xml.dsig.internal.dom.XmlWriterToTree.writeNamespace (XmlWriterToTree.java:114) adresindeki org.apache.jcp.xml.dsig.internal.dom.DOMXMLSignature.marshal adresindeki (DOMXMLSignature) . java: 211) org.apache.jcp.xml.dsig.internal.dom.DOMXMLSignature.sign (DOMXMLSignature.java:329) adresindeki org.apache.wss4j.dom.message.WSSecSignature.computeSignature (211) 578) org.apache.wss4j.dom.action.SignatureAction.execute adresindeki (SignatureAction.java:151) org.apache.wss4j.dom.handler.WSHandler.doSend adresinde erAction (WSHandler.java:226) org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor.access $ 100 (WSS4JOutInterceptor.java:54) org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor $ WSS4JOutInterceptorInternal .handleMessageInternal org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor $ WSS4JOutInterceptorInternal.handleMessage (WSS4JOutInterceptor.java:154) 'den (WSS4JOutInterceptor.java:282) org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor de $ WSS4JOutInterceptorInternal.handleMessage org.apache.cxf.phase.PhaseInterceptorChain.doIntercept (PhaseInterceptorChain.java:307) 'den (WSS4JOutInterceptor.java:141) org.apache.cxf.endpoint.ClientImpl.doInvoke (ClientImpl.java en enter code here : 514) org.apache.cxf.endpoint.ClientImpl.invoke adresinde (ClientImpl .java: 423) org.apache.cxf.endpoint.ClientImpl.invoke adresinde (ClientImpl.java:326) org.apache.cxf.endpoint.ClientImpl.invoke (ClientImpl.java:279) org.apache adresinde .cxf.frontend.ClientProxy.invokeSync (ClientProxy.java:98) , org.apache.cxf.jaxws.JaxWsClientProxy.invoke adresinde (JaxWsClientProxy.java: Bunun için 138)

      sayesinde Soumya Sonunda herhangi weblogic başlangıç ​​komut değiştirmeden cevap buldu

+0

Bu gönderi aslında sorunumu çözdü http://cxf.547215.n5.nabble.com/Running-CXF-WSS4J-on-Weblogic-td5626091.html ancak yine de daha iyi bir yanıt bekliyorum. Yazar, yolda bir sorun olabileceğini düşündüğüm bazı uyarılardan bahsetti –

cevap

2

(CXF 2.7.0 üzerinde test ve weblogic 10.3.6

nedeni sorun CXF SAAJ ait weblogic uygulamasıyla uyumlu olmamasıdır. http://cxf.apache.org/docs/application-server-specific-configuration-guide.html

1. Q: I have this error: javax.xml.ws.WebServiceException: Cannot create SAAJ factory instance. A: Please make sure you have the saaj-impl-1.3.jar in the classpath and make sure your app picks up this one instead of weblogic one.

aynı sorun da uygulanmamış e neden olan

Sorunun cevabı 1) sınıf yolunda saaj-impl koy. Eğer maven kullanıyorsanız,) sizin kaynakları klasöründe (weblogic.xml içinde pom.xml

2) bağımlılığını koymak

<wls:container-descriptor> 
     <wls:prefer-application-packages> 
      <wls:package-name>com.sun.xml.messaging.saaj.*</wls:package-name> 
     </wls:prefer-application-packages> 
    </wls:container-descriptor> 

3 koymak) Düğüm Yöneticisi üzerinden ve sağ CXF sunucunuzu yeniden başlatın WS-Güvenlik çalışmalıdır

Yardım edin!

İlgili konular