3 Replies Latest reply on Jul 12, 2005 4:03 AM by thomas.diesler

    Value for jaxrpc-mappingURL


      I am using a DII "stand-alone" client, using the jboss and jwsdp jars.
      Calls for simple methods work fine.

      I hope by calling

      import org.jboss.webservice.client.ServiceFactoryImpl;
      String jaxrpcm="??????????????????";
      String ws4ee = "????????????????";
      serviceFactory.createService(new URL(wsdl), new URL(jaxrpcm), new URL(ws4ee), serviceQName, portname)

      all the necessary registering for the typemappings (complex CustomBeans, Arrays,...) will be done for me, because -in theory- they can be taken from the jaxrpc-mapping.xml (+ws4ee-deployment...). If it works like this, it would be very nice, because the client would not have to take care about the typemappings himself!

      I need to know the value of the "jaxrpc-mapping-URL".

      The wsdlURL is
      String wsdl = "http://f10.bc.rzg.mpg.de:8080/seqref/seqref/SeqReferenceInfo?wsdl"

      (seems correct, because I can access simple methods...)

      What value do I have to set for the
      String jaxrpcm

      What value do I have to set for the
      String ws4ee

      On the server side, the files are located in in:
      wsdl: /deployment/META-INF/wsdl/
      jaxrpc-mapping.xml: /deployment/META-INF/
      ws4ee-deployment: /deployment/META-INF/

      I read the tutorial about the nice createService(5 params), and some topics discussing this issue, but was not able to find out which value exactly to set for the jaxrpcURL (s.th . like "http://f10.bc.rzg.mpg.de:8080/seqref/seqref/SeqReferenceInfo?jaxrpc" would be intuitive... but doesn't work ;-)).

      Thanks in advance for your help!

        • 1. Re: Value for jaxrpc-mappingURL

          It is unreasonable to expect that a ws4ee client can download metadata that relate to its own java nature from the endpoint it is talking to.

          WS is about interoperability and client/server side are fundamentally disconnected. Your client might be talking to a .NET endpoint, which will have no notion of xml/java mapping.

          The route to take is, to use a tool like wscompile to generate all the required ws4ee artifacts (including jaxrpc-mapping.xml) from the abstract contract (the wsdl) and package them with your client in a standard way. A portable client cannot get coupled to the java nature of the endpoint. The endpoint is free to change its implementation any time.

          In short: generate jaxrpc-mapping.xml from wsdl, don't expect the endpoint to provide it

          • 2. Re: Value for jaxrpc-mappingURL

            Thanks for the answer! It's clear that it depends on the client which "mapping" to use, I was hoping that there was an easier way for a java client to use the jaxrpc-mapping of the ("java") server. But reading the wsdl, use wscompile to generate the mapping on client side again isn't too much work ;-)

            • 3. Re: Value for jaxrpc-mappingURL

              Maybe your friend can email it to you, together with the service endpoint interface (SEI) and all associated complex types that form the transitive type closure.