Hi All, I hope you can help me as I have been knocking me head against a wall for a couple of days now. I can seem to get a simple hello service working for document/literal.
The problem is this I have a simple SLSB which I am using as a web service: | package myejbws; | | import java.rmi.RemoteException; | | import javax.ejb.EJBException; | import javax.ejb.SessionBean; | import javax.ejb.SessionContext; | | import javax.ejb.CreateException; | | /** | * @ejb.bean name="Hello" | * display-name="Name for Hello" | * description="Description for Hello" | * jndi-name="ejb/Hello" | * type="Stateless" | * view-type="all" | * | */ | public class HelloBean implements SessionBean { | | public void setSessionContext(SessionContext ctx) | throws EJBException, | RemoteException { | System.out.println("HelloBean.setSessionContext"); | } | | public void ejbRemove() throws EJBException, RemoteException { | System.out.println("HelloBean.ejbRemove"); | | } | | public void ejbActivate() throws EJBException, RemoteException { | System.out.println("HelloBean.ejbActivate"); | | } | | public void ejbPassivate() throws EJBException, RemoteException { | System.out.println("HelloBean.ejbPassivate"); | | } | | /** | * Default create method | * | * @throws CreateException | * @ejb.create-method | */ | public void ejbCreate() throws CreateException { | System.out.println("HelloBean.ejbCreate"); | } | | /** | * | * @ejb.interface-method view-type="all" | * @param name | * @return | * @throws EJBException | * @throws RemoteException | */ | public String sayHello(String name) { | System.out.println("HelloBean.sayHello("+name+")"); | return "Hello " +name+" from HelloBean"; | } | I have used the SWTool with the following config: | | <?xml version="1.0" encoding="UTF-8"?> | | <configuration xmlns="www.aware-services.co.uk/ws"> | <java-wsdl> | <service name="HelloService" | style="document" | endpoint="myejbws.HelloEndpoint"/> | <namespaces target-namespace="www.aware-services.co.uk/ws/hello" | type-namespace="www.aware-services.co.uk/ws/hello/types"/> | <mapping files="jaxrpc-mapping.xml"/> | <webservices ejb-link="Hello"/> | </java-wsdl> | </configuration> | If I set the style to rpc all deploys fine and the client works as well. However when I change the style to document, create and compile the additional class created by the WSTool, it deploys but I get the following error from the client: anonymous wrote : | [EMAIL PROTECTED]:~/workspace/TestWSEJB$ ant run-client | Buildfile: build.xml | | ejbdoclet: | [ejbdoclet] 0 [main] INFO XDocletMain.start - Running | [ejbdoclet] 214 [main] INFO XDocletMain.start - Running | [ejbdoclet] 221 [main] INFO XDocletMain.start - Running | [ejbdoclet] 225 [main] INFO XDocletMain.start - Running | [ejbdoclet] 229 [main] INFO XDocletMain.start - Running | [ejbdoclet] 235 [main] INFO XDocletMain.start - Running <service-endpoint/> | [ejbdoclet] 239 [main] INFO XDocletMain.start - Running | [ejbdoclet] 302 [main] INFO XDocletMain.start - Running | | compile: | | run-client: | [java] Welcome | [java] Contacting webservice at http://Monkey:8080/hello/Hello?wsdl | [java] set up service... | [java] log4j:WARN No appenders could be found for logger (org.jboss.ws.metadata.JSR109ClientMetaDataBuilder). | [java] log4j:WARN Please initialize the log4j system properly. | [java] org.jboss.ws.WSException: Cannot obtain java type mapping for: {www.aware-services.co.uk/ws/hello/types}sayHello | [java] at org.jboss.ws.metadata.JSR109MetaDataBuilder.buildParameterMetaDataDoc(JSR109MetaDataBuilder.java:442) | [java] at org.jboss.ws.metadata.JSR109MetaDataBuilder.setupOperationsFromWSDL(JSR109MetaDataBuilder.java:193) | [java] at org.jboss.ws.metadata.JSR109ClientMetaDataBuilder.buildMetaDataInternal(JSR109ClientMetaDataBuilder.java:207) | [java] at org.jboss.ws.metadata.JSR109ClientMetaDataBuilder.buildMetaData(JSR109ClientMetaDataBuilder.java:122) | [java] at org.jboss.ws.metadata.JSR109ClientMetaDataBuilder.buildMetaData(JSR109ClientMetaDataBuilder.java:78) | [java] at org.jboss.ws.jaxrpc.ServiceImpl.(ServiceImpl.java:96) | [java] at org.jboss.ws.jaxrpc.ServiceFactoryImpl.createService(ServiceFactoryImpl.java:157) | [java] at org.jboss.ws.jaxrpc.ServiceFactoryImpl.createService(ServiceFactoryImpl.java:128) | [java] at myclient.HelloWsEjbClient.main(Unknown Source) | | BUILD SUCCESSFUL | Total time: 4 seconds | I have looked in the WSDL and the mappings files and they look fine. The WSDL is as follows: | | <definitions name="HelloService" targetNamespace="www.aware-services.co.uk/ws/hello"> | | <types> | | <schema targetNamespace="www.aware-services.co.uk/ws/hello/types"> | | <complexType name="sayHello"> | | <sequence> | <element name="String_1" nillable="true" type="string"/> | </sequence> | </complexType> | | <complexType name="sayHelloResponse"> | | <sequence> | <element name="result" nillable="true" type="string"/> | </sequence> | </complexType> | <element name="sayHello" type="tns:sayHello"/> | <element name="sayHelloResponse" type="tns:sayHelloResponse"/> | </schema> | </types> | | <message name="HelloEndpoint_sayHello"> | <part element="ns1:sayHello" name="parameters"/> | </message> | | <message name="HelloEndpoint_sayHelloResponse"> | <part element="ns1:sayHelloResponse" name="result"/> | </message> | | <portType name="HelloEndpoint"> | | <operation name="sayHello"> | <input message="tns:HelloEndpoint_sayHello"/> | <output message="tns:HelloEndpoint_sayHelloResponse"/> | </operation> | </portType> | | <binding name="HelloEndpointBinding" type="tns:HelloEndpoint"> | <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> | | <operation name="sayHello"> | <soap:operation soapAction=""/> | | <input> | <soap:body use="literal"/> | </input> | | <output> | <soap:body use="literal"/> | </output> | </operation> | </binding> | | <service name="HelloService"> | | <port binding="tns:HelloEndpointBinding" name="HelloEndpointPort"> | <soap:address location="http://Monkey:8080/hello/Hello"/> | </port> | </service> | </definitions> | The same thing happens if you use RPC but I pass back a non standard class (such as MyDataObject). HeLp!!!! (Please) Tim View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3972492#3972492 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3972492 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user