मैं इस निम्नलिखित CXF अपवाद का सामना कर रहा हूँ तनाव मुक्त:CXF ग्राहक अपवाद: के लिए इंटरसेप्टर {XXX} अपवाद उत्पन्न हो गया है, अब
warning: Interceptor for {http://example.com/wsdl/esc/2011-12-12/}AmazonEC2#{http://example.com/wsdl/esc/2011-12-12/}NewDescribeImages has thrown exception, unwinding now
java.lang.NullPointerException
at org.apache.cxf.binding.soap.interceptor.StartBodyInterceptor.handleMessage(StartBodyInterceptor.java:59)
at org.apache.cxf.binding.soap.interceptor.StartBodyInterceptor.handleMessage(StartBodyInterceptor.java:37)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:762)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1582)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1467)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1375)
at org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:47)
at org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:188)
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:623)
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:510)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:440)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:343)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:295)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
at $Proxy31.newDescribeImages(Unknown Source)
at test.App.main(App.java:62)
javax.xml.ws.soap.SOAPFaultException: Fault string, and possibly fault code, not set
कोड है कि इस अपवाद का कारण बनता है:
MyService ms =new MyService();
MyServicePort port = ms.getAmazonEC2Port();
BindingProvider bp = (BindingProvider) port;
bp.getRequestContext()
.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
"http://192.180.33.12:8773/services/myservice_url/");
Client client = ClientProxy.getClient(portType);
client.getInInterceptors().add(new LoggingInInterceptor());
client.getOutInterceptors().add(new LoggingOutInterceptor());
Endpoint endpoint = client.getEndpoint();
Map<String, Object> inProps=new HashMap<String, Object>();
Map<String,Object> outProps = new HashMap<String,Object>();
configWSProps(inProps, outProps); //here is some WS-Security properties
WSS4JInInterceptor wssIn = new WSS4JInInterceptor(inProps);
WSS4JOutInterceptor wssOut = new WSS4JOutInterceptor(outProps);
endpoint.getInInterceptors().add(wssIn);
endpoint.getOutInterceptors().add(wssOut);
SomeResponseType response = port.someMethod();
यह अपवाद नहीं है अंतिम पंक्ति में फेंक दिया गया: port.someMethod()। configWSProps (...) विधि में मैंने कुछ डब्ल्यूएस-सुरक्षा गुण सेट किए हैं, इसमें समस्या होने की संभावना नहीं है।
मैंने सीएक्सएफ लॉग मुद्रित किए, मैं देख सकता हूं कि इनबाउंड संदेश में सही डेटा है।
सीएक्सएफ स्रोत कोड से, ऐसा लगता है कि सीएक्सएफ साबुन संदेश को पुनः प्राप्त करने में विफल रहता है, लेकिन मुझे नहीं पता कि इसे कैसे हल किया जाए। कृपया मेरी मदद करें! http://grepcode.com/file/repo1.maven.org/maven2/org.apache.cxf/cxf-rt-bindings-soap/2.4.1/org/apache/cxf/binding/soap/interceptor/StartBodyInterceptor.java/#59
आप व्याख्या कर सकते हैं क्या आप अपने कोड में बदल समस्या को हल करने? –
मुझे याद नहीं है, यह बहुत समय पहले है। शायद मैंने सामग्री-प्रकार शीर्षलेख कहीं इंजेक्शन दिया? – Wint