  | Mailing List | | Home | | Forum Home | | JBoss - Java Application Server | | Tomcat - JSP/Servlet container | | Struts - A MVC web framework | | iText - An open source PDF Java Library | | JDOM - JDOM XML Parser | | J2EE - A mailing list for Java(tm) 2 Platform, Enterprise Edition | | JSP - A mailing list about Java Server Pages specification and reference | | J2EE Pattern - An interest list for Sun Java Center J2EE Pattern Catalog | | Servlet - A mailing list for discussion about Sun Microsystem's Java Servlet API Technology | |
Struts & Hibernate
|
|
|
  | | | - "Endpoint does not contain operation metadata " exceptio | - "Endpoint does not contain operation metadata " exceptio 2007-07-10 - By chris05atm
Back Hello all. I've been stuck on this problem for 3 days now and it is driving me crazy. I originally had just one web method exposed as a web service and everything worked fine. I added an additional method and while the first operation still works... the second one throws a "Endpoint does not contain operation metadata" exception when it gets called.
This is running on jboss-4 (See http://oss-4.ora-code.com).2.0.GA with jbossws 1.2.1 GA.
WSDL:
| <?xml version="1.0" encoding="UTF-8 (See http://UTF-8.ora-code.com)"?> | | <wsdl:definitions name="XmlApiMethods" targetNamespace="xmlapi_1.0" | xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" | xmlns:tns="xmlapi_1.0" | xmlns="http://schemas.xmlsoap.org/wsdl/" | xmlns:xsd="http://www.w3.org/2001/XMLSchema" | xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"> | | <wsdl:types> | <xsd:schema targetNamespace="xmlapi_1.0" | elementFormDefault="qualified" | xmlns:xsd="http://www.w3.org/2001/XMLSchema"> | <xsd:element name="find" type="tns:find_t" /> | <xsd:element name="findResponse" type="tns:findResponse_t" /> | <xsd:complexType name="find_t"> | <xsd:sequence> | <xsd:element name="fullClassName" type="xsd:string" minOccurs="1" /> | <xsd:element name="filter" type="xsd:string" minOccurs="1" /> | <xsd:element name="resultFilter" type="xsd:string" minOccurs="0" /> | </xsd:sequence> | </xsd:complexType> | | <xsd:complexType name="findResponse_t"> | <xsd:sequence> | <xsd:element name="result" type="xsd:string" minOccurs="1" /> | </xsd:sequence> | </xsd:complexType> | | <xsd:element name="ping" type="tns:ping_t" /> | <xsd:element name="pingResponse" type="tns:pingResponse_t" /> | | <xsd:complexType name="ping_t"> | <xsd:sequence/> | </xsd:complexType> | | <xsd:complexType name="pingResponse_t"> | <xsd:sequence/> | </xsd:complexType> | </xsd:schema> | </wsdl:types> | | <wsdl:message name="FindInterface_find"> | <wsdl:part name="parameters" element="tns:find" /> | </wsdl:message> | <wsdl:message name="FindInterface_findResponse"> | <wsdl:part name="result" element="tns:findResponse" /> | </wsdl:message> | | <wsdl:message name="FindInterface_ping"> | <wsdl:part name="parameters" element="tns:ping" /> | </wsdl:message> | <wsdl:message name="FindInterface_pingResponse"> | <wsdl:part name="result" element="tns:pingResponse" /> | </wsdl:message> | | <wsdl:portType name="FindInterface"> | <wsdl:operation name="find"> | <wsdl:input message="tns:FindInterface_find" /> | <wsdl:output message="tns:FindInterface_findResponse" /> | </wsdl:operation> | | <wsdl:operation name="ping"> | <wsdl:input message="tns:FindInterface_ping" /> | <wsdl:output message="tns:FindInterface_pingResponse" /> | </wsdl:operation> | </wsdl:portType> | | <wsdl:binding name="FindInterfaceBinding" | type="tns:FindInterface"> | <soap:binding transport="http://schemas.xmlsoap.org/soap/http" | style="document" /> | <wsdl:operation name="find"> | <soap:operation soapAction="" /> | <wsdl:input> | <soap:body use="literal" /> | </wsdl:input> | <wsdl:output> | <soap:body use="literal" /> | </wsdl:output> | </wsdl:operation> | | <wsdl:operation name="ping"> | <soap:operation soapAction="" /> | <wsdl:input> | <soap:body use="literal" /> | </wsdl:input> | <wsdl:output> | <soap:body use="literal" /> | </wsdl:output> | </wsdl:operation> | </wsdl:binding> | | <wsdl:service name="XmlApiMethods"> | <wsdl:port name="FindInterfacePort" | binding="tns:FindInterfaceBinding"> | <soap:address location="REPLACE_WITH_ACTUAL_URL" /> | </wsdl:port> | </wsdl:service> | </wsdl:definitions> |
Interface:
| | package webservice; | | import javax.jws.WebMethod; | import javax.jws.WebParam; | import javax.jws.WebResult; | import javax.jws.WebService; | import javax.xml.ws.RequestWrapper; | import javax.xml.ws.ResponseWrapper; | | @(protected)(name = "FindInterface", targetNamespace = "xmlapi_1.0") | //@(protected)({ | // ObjectFactory.class | //}) | public interface FindInterface { | | | /** | * | * @(protected) filter | * @(protected) fullClassName | * @(protected) resultFilter | * @(protected) | * returns java.lang.String  | */ | @(protected) | @(protected)(name = "result", targetNamespace = "xmlapi_1.0") | @(protected)(localName = "find", targetNamespace = "xmlapi_1.0", className = "webservice.FindT") | @(protected)(localName = "findResponse", targetNamespace = "xmlapi _1.0", className = "webservice.FindResponseT") | public String find( | @(protected)(name = "fullClassName", targetNamespace = "xmlapi_1.0") | String fullClassName, | @(protected)(name = "filter", targetNamespace = "xmlapi_1.0") | String filter, | @(protected)(name = "resultFilter", targetNamespace = "xmlapi_1.0") | String resultFilter); | | /** | * | */ | @(protected) | @(protected)(localName = "ping", targetNamespace = "xmlapi_1.0", className = "webservice.PingT") | @(protected)(localName = "pingResponse", targetNamespace = "xmlapi _1.0", className = "webservice.PingResponseT") | public void ping(); | | } |
Implementation snippet:
| package webservice; | | @(protected)(name = "FindInterface", serviceName = "XmlApiMethods", | portName = "FindInterfacePort", | targetNamespace = "xmlapi_1.0", | wsdlLocation = "META-INF/wsdl/XmlApiMethods.wsdl" , | endpointInterface = "webservice.FindInterface") | | public class FindImpl implements FindInterface { ... |
Bit of code that generates the ping request (raw request). This is what currently fails. The client uses something very similar and cannot be changed:
| public static String getPingRequest(String user, String password, String clientId) { | return "<?xml version=\"1.0\" encoding=\"UTF-8 (See http://UTF-8.ora-code.com)\"?>" + | "<SOAP:Envelope "+ | "xmlns:SOAP=\"http://schemas.xmlsoap.org/soap/envelope/\" " + | "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">" + | "<SOAP:Header><header xmlns=\"xmlapi_1.0\">" + | "<security><user>" + user + | "</user><password>"+ password + | "</password></security><requestID>"+clientId+"</requestID>"+ | "</header></SOAP:Header>"+ | "<SOAP:Body><ping xmlns=\"xmlapi_1.0\"/></SOAP:Body></SOAP:Envelope>"; | } |
The find bit of code that currently works:
| public static String getSoapRequest(String user, String password, String clientId, | String root) { | return "<?xml version=\"1.0\" encoding=\"UTF-8 (See http://UTF-8.ora-code.com)\"?>" + | "<SOAP:Envelope "+ | "xmlns:SOAP=\"http://schemas.xmlsoap.org/soap/envelope/\" "+ | "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n"+ | "<SOAP:Header><header xmlns=\"xmlapi_1.0\">\n"+ | "<security><user>" + user + | "</user><password>"+ password + | "</password></security><requestID>"+clientId+"</requestID>\n"+ | "</header></SOAP:Header>"+ | "<SOAP:Body><find xmlns=\"xmlapi_1.0\">"+ | "<fullClassName>"+root+"</fullClassName>"+ | "<filter/>"+ | "<resultFilter><children/></resultFilter>"+ | "</find></SOAP:Body></SOAP:Envelope>"; | } |
I have read about operations that take no parameters having issues when using "wrapped" document/literal style. Is this the problem? I have tried so many different permutations of WSDL, java code, etc. that I am out of ideas.
Any suggestions or pointers would be appreciated. This seems to be a somewhat common issue on this forum but none of the other examples seem to be the cause here and this one involves an empty "wrapped" operation.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic &p=4062747#4062747
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode =reply&p=4062747 __ ____ ____ ____ ____ ____ ____ ____ ____ ____ jboss-user mailing list jboss-user@(protected) https://lists.jboss.org/mailman/listinfo/jboss-user
|
|
 |