Hi everyone,
I have written a test web service with JBoss 4.2.2.GA and I
have what seems to be an oversight error (on my part I am
sure) that I cannot figure out I searched
this forum and others have had the same problem but then
there is no clear answer in the responses as to what is the
real source of the problem and how to fix it. My code
compiles and deploys into the application server properly
but when I use a web service client to test a method call I
get the following strange error about operation meta data
not being there:
anonymous wrote : 2008-05-08 16:48:46,996 ERROR
[org.jboss.ws.core.jaxws.SOAPFaultHelperJAXWS] SOAP request
exception
| org.jboss.ws.core.CommonSOAPFaultException: Endpoint {http://wstest.fmi.ch/}UserS
erviceBeanPort does not contain operation meta data for: {http://wstest.fmi.ch/}GetUs
erByUsername
| at
org.jboss.ws.core.server.ServiceEndpointInvoker.getDispatchD
estination(ServiceEndpointInvoker.java:457)
| at
org.jboss.ws.core.server.ServiceEndpointInvoker.invoke(Servi
ceEndpointInvoker.java:176)
| at
org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(R
equestHandlerImpl.java:408)
| at
org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(Re
questHandlerImpl.java:272)
| at
org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHa
ndlerImpl.java:189)
Here is the POSTed SOAP body:
<soap:Body xmlns:soap='http://sche
mas.xmlsoap.org/soap/envelope/'>
| <tns:GetUserByUsername xmlns:tns='http://wstest.fmi.ch/'>
| <Username xsi:type='xsd:string' xmlns si='<
a
href="http://www.w3.org/2001/XMLSchema-instance">http://www.
w3.org/2001/XMLSchema-instance' xmlns sd='<
a
href="http://www.w3.org/2001/XMLSchema">http://www.w3.org/20
01/XMLSchema'>hermida</Username>
| </tns:GetUserByUsername>
| </soap:Body>
Here are the important web service code (and where a
possible error could be):
UserServiceWSInterface.java
//package ch.fmi.wstest;
|
| /**
| * Web service interface for the UserServiceBean session
bean.
| *
| */
| javax.jws.WebService(targetNamespace = "http://ch.fmi/wstest"
, name = "UserService")
| javax.jws.soap.SOAPBinding(style =
javax.jws.soap.SOAPBinding.Style.RPC, use =
javax.jws.soap.SOAPBinding.Use.LITERAL, parameterStyle =
javax.jws.soap.SOAPBinding.ParameterStyle.WRAPPED)
| public interface UserServiceWSInterface
| extends java.rmi.Remote
| {
| javax.jws.WebMethod(operationName =
"GetUserByUsername")
| public ch.fmi.wstest.User getUserByUsername(
| javax.jws.WebParam(name = "Username")
java.lang.String username
| ) throws java.rmi.RemoteException;
|
| }
UserServiceBean.java
// license-header java merge-point
| //
| // Generated by: SessionBeanImpl.vsl in
andromda-ejb3-cartridge.
| //
| package ch.fmi.wstest;
|
| /**
| * see ch.fmi.wstest.UserServiceBase
| *
| * Remember to manually configure the local business
interface this bean implements if originally you only
| * defined the remote business interface. However, this
change is automatically reflected in the ejb-jar.xml.
| *
| * Do not specify the javax.ejb.Stateless annotation
| * Instead, the session bean is defined in the
ejb-jar.xml descriptor.
| */
| javax.jws.WebService(endpointInterface =
"ch.fmi.wstest.UserServiceWSInterface")
| org.jboss.wsf.spi.annotation.WebContext(contextRoot =
"/wstest-ws",
urlPattern="/services/UserService/*")
| public class UserServiceBean
| extends ch.fmi.wstest.UserServiceBase
| implements ch.fmi.wstest.UserServiceRemote
| {
|
| // --------------- Constructors ---------------
|
| /**
| * Default constructor extending base class default
constructor
| */
| public UserServiceBean()
| {
| super();
| }
|
| // -------- Business Methods Impl --------------
|
| /**
| * see
ch.fmi.wstest.UserServiceBase#getUserByUsername(java.lang.St
ring)
| */
| protected ch.fmi.wstest.User
handleGetUserByUsername(java.lang.String username)
| throws java.lang.Exception
| {
| //TODO: put your implementation here.
| // Dummy return value, just that the file
compiles
| return null;
| }
|
|
| // -------- Lifecycle Callback Implementation
--------------
|
| }
|
Here are the WSDLs:
http://localhost:8080/wstest-ws/services/UserService?ws
dl
<definitions name="UserServiceBeanService"
targetNamespace="http://wstest.fmi.ch/
">
| <import location="http://localhost.fmi.ch:8080/wstest-ws/services/UserServic
e?wsdl&resource=UserService_PortType36597.wsdl"
namespace="http://ch.fmi/wstest&
quot;/>
| <service
name="UserServiceBeanService">
| <port
binding="ns1:UserServiceBinding"
name="UserServiceBeanPort">
| <soap:address location="http://localhost.fmi.ch:8080/wstest-ws/ser
vices/UserService"/>
| </port>
| </service>
| </definitions>
http
://localhost.fmi.ch:8080/wstest-ws/services/UserService?wsdl
&resource=UserService_PortType36597.wsdl
<definitions name="UserServiceBeanService"
targetNamespace="http://ch.fmi/wstest&q
uot;>
| <types>
| <xs:schema targetNamespace="http://ch.fmi/wstest"
version="1.0">
| <xs:complexType
name="user">
| <xs:sequence>
| <xs:element
minOccurs="0" name="id"
type="xs:long"/>
| <xs:element
minOccurs="0" name="password"
type="xs:string"/>
| <xs:element
minOccurs="0" name="username"
type="xs:string"/>
| </xs:sequence>
| </xs:complexType>
| </xs:schema>
| </types>
| <message
name="UserService_GetUserByUsernameResponse">
| <part name="return"
type="ns1:user"/>
| </message>
| <message
name="UserService_GetUserByUsername">
| <part name="Username"
type="xsd:string"/>
| </message>
| <portType name="UserService">
| <operation name="GetUserByUsername"
parameterOrder="Username">
| <input
message="ns1:UserService_GetUserByUsername"/>
| <output
message="ns1:UserService_GetUserByUsernameResponse"
;/>
| </operation>
| </portType>
| <binding name="UserServiceBinding"
type="ns1:UserService">
| <soap:binding style="rpc"
transport="http:
//schemas.xmlsoap.org/soap/http"/>
| <operation
name="GetUserByUsername">
| <soap:operation
soapAction=""/>
| <input>
| <soap:body namespace="http://wstest.fmi.ch/&quo
t; use="literal"/>
| </input>
| <output>
| <soap:body namespace="http://wstest.fmi.ch/&quo
t; use="literal"/>
| </output>
| </operation>
| </binding>
| </definitions>
Why is it not finding the operation meta data? Is it a
namespace problem?
thanks for any help,
leandro
View the original post : http://www.jboss.com/index.html?
module=bb&op=viewtopic&p=4149742#4149742
Reply to the post : http://www.jboss.com/index.
html?module=bb&op=posting&mode=reply&p=4149742
a>
_______________________________________________
jbossws-users mailing list
jbossws-users lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jbossws-users
|