समस्या का विवरण लंबा हो सकता है। कृपया धैर्य रखें और किसी भी प्रकार की सहायता प्रदान करें क्योंकि मैं वेब सेवाओं में नया हूं।अपाचे सीएक्सएफ का उपयोग कर वेब सेवा से प्रतिक्रिया "कोई बाध्यकारी संचालन जानकारी .."
मैंने जो किया है: मैंने अपाचे सीएक्सएफ आरआई का उपयोग कर जावा में एक वेब सेवा बनाई है। मैंने बस एक वर्ग बनाया और एसईआई, डब्ल्यूएसडीएल और एक्सएमएल फाइलें उत्पन्न करने के लिए नीचे विकास दृष्टिकोण का उपयोग किया।
क्या समस्या है: अब, मैं अनुरोध करते हैं "http://localhost:8084/DeepThoughtWS/services/DeepThoughtPort/whatIsTheAnswer
", यह उत्पादन के रूप में कोई बाध्यकारी संचालन की जानकारी अज्ञात पैरामीटर वाला अज्ञात विधि लागू करते हुए पैदा करता है। प्रतिक्रिया इस प्रकार है:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>No binding operation info while invoking unknown
method with params unknown.</faultstring>
</soap:Fault>
</soap:Body>
</soap:Envelope>
उत्पन्न WSDL
है:
<wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://ws.service.com/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
name="DeepThoughtService" targetNamespace="http://ws.service.com/">
<wsdl:types>
<schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://ws.service.com/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://ws.service.com/"
schemaLocation="http://localhost:8084/DeepThoughtWS/services/DeepThoughtPort?xsd=deepthought_schema1.xsd" />
</schema>
</wsdl:types>
<wsdl:message name="whatIsTheAnswerResponse">
<wsdl:part element="tns:whatIsTheAnswerResponse"
name="parameters"></wsdl:part>
</wsdl:message>
<wsdl:message name="whatIsTheAnswer">
<wsdl:part element="tns:whatIsTheAnswer" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:portType name="DeepThought">
<wsdl:operation name="whatIsTheAnswer">
<wsdl:input message="tns:whatIsTheAnswer"
name="whatIsTheAnswer"></wsdl:input>
<wsdl:output message="tns:whatIsTheAnswerResponse"
name="whatIsTheAnswerResponse"></wsdl:output>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="DeepThoughtServiceSoapBinding"
type="tns:DeepThought">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="whatIsTheAnswer">
<soap:operation soapAction="" style="document" />
<wsdl:input name="whatIsTheAnswer">
<soap:body use="literal" />
</wsdl:input>
<wsdl:output name="whatIsTheAnswerResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="DeepThoughtService">
<wsdl:port binding="tns:DeepThoughtServiceSoapBinding"
name="DeepThoughtPort">
<soap:address location="http://localhost:8084/DeepThoughtWS/services/DeepThoughtPort" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
DeepThought
वर्ग में शामिल हैं:
@WebService(targetNamespace = "http://ws.service.com/", portName = "DeepThoughtPort", serviceName = "DeepThoughtService")
public class DeepThought {
public String whatIsTheAnswer(@WebParam(name = "arg0") String interviewer) {
return ("The answer " + interviewer);
}
}
अनुरोध के समय सांत्वना उत्पादन कुछ पता चलता त्रुटियां भी:
Feb 05, 2013 3:59:14 PM org.apache.cxf.service.invoker.AbstractInvoker invoke
SEVERE: Invocation without a binding operation.
Feb 05, 2013 3:59:14 PM org.apache.cxf.phase.PhaseInterceptorChain doDefaultLogging
WARNING: Interceptor for {http://ws.service.com/}DeepThoughtService has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: No binding operation info while invoking unknown method with params unknown.
at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:59)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:107)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:239)
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:218)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:163)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:137)
at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:158)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:243)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:168)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:219)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Feb 05, 2013 3:59:14 PM org.apache.cxf.services.DeepThoughtService.DeepThoughtPort.DeepThought
INFO: Outbound Message
---------------------------
ID: 5
Response-Code: 500
Encoding: UTF-8
Content-Type: text/xml
Headers: {}
Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><soap:Fault><faultcode>soap:Server</faultcode><faultstring>No binding operation info while invoking unknown method with params unknown.</faultstring></soap:Fault></soap:Body></soap:Envelope>
मैंने डब्लूएसडीएल स्थान, एंडपॉइंट इंटरफेस और @WebMethod (action = "whatIsTheAnswer") प्रदान किया। अभी भी कोई प्रतिक्रिया नहीं है। क्या मेरा अनुरोध सही है "http: // localhost: 8084/DeepThoughtWS/सेवाएं/DeepThoughtPort/whatIsTheAnswer"? – Sujan
आपका अनुरोध क्या है? यह यूआरएल है, अनुरोध नहीं। यदि यह आपकी तैनात वेब सेवा का अंत बिंदु है तो आपने इसे एसओएपी अनुरोध भेज दिया है। –
मेरा मतलब यूआरएल था। क्या मुझे यूआरएल से प्रतिक्रिया मिल सकती है? यदि मैं SOAP अनुरोध भेजता हूं तो वेब सेवा काम कर रही है। लेकिन यूआरएल से जीईटी का उपयोग कर एक्सएमएल आउटपुट प्राप्त करने का कोई तरीका है? – Sujan