Ignored contextPath of a JAX-WS web service as a stateless EJB.

Hello,
I have a JAX-WS web service implemented as a stateless session EJB and I use the jwsc ANT task to build the JAR file. I need to set a specific context root of the web service. How can I do that?
I have tried setting the contextPath attribute in the jwsc ANT task (on module, jws, WLHttpTransport) but it is ignored. When I remove the EJB-specific annotations from the JWS file the jwsc ANT task generates a WAR file with the proper contextPath set but when EJB JAR is generated contextPath is ignored.
Thank you for your help.
JBoris

I found an example in the WLS 10.3 documentation. Here is the link: http://edocs.bea.com/wls/docs103/webserv/webservTOC.html
The documentation provides examples for from WSDL and from Java.
Happy reading :-)

Similar Messages

  • Cannot attach a WS-Policy to Jax-RPC Web Service

    I am having trouble trying to associate a WS-Security Policy with a BEA Jax-RPC Web Service?
    I am following the following procedure to try to associate a the policy:
    http://edocs.bea.com/wls/docs100/ConsoleHelp/taskhelp/webservices/ConfigureWSPolicyFile.html
    The problem is that when I navigate on the Administration Console to
    Deployments
    => AdapterAdminService (this is the name of my application)
    => com.gateway.admin.wsdl.v10.AdminImpl (this is the name of my Web Service)
    => Configuration
    => WS-Policy
    The Web console displays a stacktrace mentioning an "IndexOutOfBoundsException" :
    Error opening /jsp/webservice/WebServiceConfigurationWebServicePoliciesForm.jsp.
    The source of this error is java.lang.IllegalArgumentException: The property you provided 'contents' of form 'deploymentPlanForm' must not be set to null. at com.bea.console.taglib.html.TableTag.registerDataSet(TableTag.java:1588) at com.bea.console.taglib.html.TreeTableTag.doRegisterDataSet(TreeTableTag.java:49) at com.bea.console.taglib.html.TableTag.doStartTag(TableTag.java:1360) at jsp_servlet._jsp._webservice.__webserviceconfigurationwebservicepoliciesform._jsp__tag9(__webserviceconfigurationwebservicepoliciesform.java:498) at jsp_servlet._jsp._webservice.__webserviceconfigurationwebservicepoliciesform._jsp__tag8(__webserviceconfigurationwebservicepoliciesform.java:459) at jsp_servlet._jsp._webservice.__webserviceconfigurationwebservicepoliciesform._jsp__tag7(__webserviceconfigurationwebservicepoliciesform.java:416) at jsp_servlet._jsp._webservice.__webserviceconfigurationwebservicepoliciesform._jspService(__webserviceconfigurationwebservicepoliciesform.java:265) at weblogic.servlet.jsp.JspBase.service(JspBase.java:34) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:226) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:124) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175) at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:528) at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:454) at org.apache.beehive.netui.pageflow.scoping.internal.ScopedRequestDispatcher.include(ScopedRequestDispatcher.java:119) at com.bea.netuix.servlets.controls.content.JspContent.beginRender(JspContent.java:551) at com.bea.netuix.servlets.controls.content.NetuiContent.beginRender(NetuiContent.java:363) at com.bea.netuix.nf.ControlLifecycle$7.visit(ControlLifecycle.java:483) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:518) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:529) at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:220) at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:375) at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:341) at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:332) at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:306) at com.bea.netuix.nf.UIControl.render(UIControl.java:578) at com.bea.netuix.servlets.controls.PresentationContext.render(PresentationContext.java:482) at com.bea.netuix.servlets.util.RenderToolkit.renderChild(RenderToolkit.java:146) at com.bea.netuix.servlets.jsp.taglib.RenderChild.doStartTag(RenderChild.java:62) at jsp_servlet._framework._skeletons._default.__gridlayout._jspService(__gridlayout.java:285) at weblogic.servlet.jsp.JspBase.service(JspBase.java:34) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:226) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:124) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175) at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:528) at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:454) at com.bea.netuix.servlets.controls.application.laf.JspTools.renderJsp(JspTools.java:123) at com.bea.netuix.servlets.controls.application.laf.JspControlRenderer.beginRender(JspControlRenderer.java:72) at com.bea.netuix.servlets.controls.application.laf.PresentationControlRenderer.beginRender(PresentationControlRenderer.java:65) at com.bea.netuix.nf.ControlLifecycle$7.visit(ControlLifecycle.java:479) at com.bea.netuix.nf.ControlTreeWalker.walkRecursiveRender(ControlTreeWalker.java:518) at
    I have this issue with both IE7 and Firefox 2. My domain is a WLS 10.0MP1 domain and is deployed on my Windows XP laptop.
    I am generating the WS from WSDL with the following ant command:
              <wsdlc srcWsdl="${wsdl.location.path}/AdapterAdministration.wsdl"
                   destJwsDir="${gen.compiled.wsdl.dir}"
                   packagename="com.gateway.admin.wsdl.v10.server"
                   destImplDir="server_impl_example" />
    then
                   <jwsc     srcdir="${src.dir}" destdir="${dist.dir}" classpathref="project.class.path" debug="true">
                             <jws file="com/gateway/admin/wsdl/v10/AdminImpl.java"
                                  compiledWsdl="${gen.compiled.wsdl.dir}/AdapterAdministration_wsdl.jar" />
                        </jwsc>
    and finally, I deploy it with:
              <wldeploy action="deploy"
                   name="AdapterAdminService"
                   source="${dist.dir}/AdminImpl.war"
                   user="${wls.domain.user}"
                   password="${wls.domain.pwd}"
                   verbose="true"
                   stage="no"
                   upload="true"
                   adminurl="t3://${wls.domain.host}:${wls.domain.port}"
                   targets="${wls.domain.servername}" />
    Do you have any idea what might be wrong here?
    Thanks in advance,
    Svend

    Hi all,
    Some more information: I have created another very simple Jax-RPC Web Service, now using the @Policy annotation. The policy I specify is then correctly taken into account, but I still have the same symptom when I navigate to the Configuration => WS-Policy page on the Web Console (i.e., I cannot associate a WS-Policy to my WS with the Web Console)
    Beginning of the JWS file:
    @WebService(...)
    @WLHttpTransport(serviceUri = "", portName = "AdapterAdmin")
    @Binding(Binding.Type.SOAP12)
    @Policy(uri="Wssp1.2-Http-UsernameToken-Digest.xml")
    public class AdminImpl implements Admin {
    Ant task I use to build and deploy the service:
    <target name="build-service" depends="prepare">
              <mkdir dir="package"/>
              <mkdir dir="package/WEB-INF"/>
              <mkdir dir="package/WEB-INF/lib"/>
              <jwsc     
                   srcdir="${src.dir}"
                   destdir="package"
                   classpathref="project.class.path"
                   debug="true">
                   <jws
                        file="com/gateway/admin/wsdl/v10/AdminImpl.java"
                        contextpath="/AdminImpl2"
                        explode="true"
                   />
              </jwsc>
              <move todir="package/WEB-INF">
                   <fileset dir="package/com/gateway/admin/wsdl/v10/AdminImpl/WEB-INF"></fileset>
              </move>
              <move todir="package/META-INF">
                   <fileset dir="package/xsize/gateway/admin/wsdl/v10/AdminImpl/META-INF"></fileset>
              </move>
              <copy todir="package/WEB-INF/lib">
                   <fileset dir="${lib.dir}"
                                  includes="client-1.0.jar,
                                       tools.jar />
              </copy>
              <delete dir="package/com" />
              <jar destfile="${dist.dir}/simpleWS2.war" >
                   <fileset dir="package" />
              </jar>     
              <wldeploy action="deploy"
                   name="AdminService-withPolicyAnnotation"
                   source="${dist.dir}/simpleWS2.war"
                   user="weblogic"
                   password="weblogic"
                   verbose="true"
                   stage="no"
                   upload="true"
                   adminurl="t3://localhost:9001"
                   targets="AdminServer" />
         </target>
    "

  • Calling One Jax RPC Web Service from another in Oracle AS 10.1.3

    We have a number of services residing in the same Oracle 10.1.3 app server container. These are deployed as Jax RPC Web Services
    I am trying to figure out what are the different options to have once web service invoke an operation on another (without directly linking to the Java code). The reason we want to keep separation as far as possible is that these services may later migrate to different app servers and in the spirit of SOA all we want to change when a service migrates is address and would like everything else to remain the same.
    So for example, if Web Service A needs to invoke an operation X in web service B,
    One way to do this seems to be to generate a proxy for web service B, include the proxy in Web Service A and then simply do B.X() from Web Service A.
    Is this is the best way to do it ?
    Are there other alternative approaches available ? Such as using the built in ESB features of Oracle App Server 10.1.3?
    Any pointers will be greatly appreciated.
    Thanks
    RR

    Found document of 10.1.3.1.0 how to Creating a Custom Identity Service Plug-in
    Oracle® BPEL Process Manager Administrator's Guide
    10g (10.1.3.1.0)
    Part Number B28982-03
    http://download-west.oracle.com/docs/cd/B31017_01/integrate.1013/b28982/plugin.htm
    But may be no help.

  • URGENT **** Need help for JAX-RPC Web Service Proxy deploy to OC4J 10.1.3.5

    Hi everyone!
    I’m really new to web services.
    I’m getting a *500 internal server error* while deploying my JAX-RPC web service Proxy to an Oracle AS, in an OC4J, v. 10.1.3.5.0.
    Running my client from my development environment (*jdeveloper 10g, 10.1.3.5.0*) everything functions correctly: from jdeveloper I can contact and use the web service defined by the following endpoint: https://www.medialibrary.it/services/federaMLOL.asmx?WSDL
    I created a "try_ws_client.jsp" file that runs correctly from my local development environment jdeveloper (that uses an embedded oc4j, v. 10.1.3.5.0) but fails when run from the test server (Oracle AS, in an OC4J, v. 10.1.3.5.0), getting, as I mentioned a 500 internal server error, a white page in IE but with FF the message says: The’s an error in the servlet .....
    Here's how I created the ws proxy and how I’m using it to consume the ws I mentioned.
    1. I used the jdeveloper “Create Web Service Proxy” wizard (File > New > Business Tier > Web Services > Web Service Prox) and in the WSDL document URL I put: https://www.medialibrary.it/services/federaMLOL.asmx?WSDL
    2. The operation ended without adding nothing to the web.xml file and creating the proxy files. One of them is: FederaMLOLSoapClient.java that have the WS exposed methods (es: public boolean createUser(String) ) + a “main” method with the example how to use this client to consume the WS.
    public static void main(String[] args) {
    try {
    it.reggiocity.provincia.mlol.proxy.FederaMLOLSoapClient myPort = new it.reggiocity.provincia.mlol.proxy.FederaMLOLSoapClient();
    System.out.println("calling " + myPort.getEndpoint());
    // Add your own code here
    } catch (Exception ex) {
    ex.printStackTrace();
    3. In FederaMLOLSoapClient.java I’ve create the method "tyIt":
    public String tryIt(String username) {
    try {
    it.reggiocity.provincia.mlol.proxy.FederaMLOLSoapClient myPort = new it.reggiocity.provincia.mlol.proxy.FederaMLOLSoapClient();
    if(myPort.createUser(String username)) {
    return “O.K”;
    } else {
    return “K.O”;
    } catch (Exception ex) {
    // logs error
    4. I created my try_ws_client.jsp file that creates FederaMLOLSoapClient object and calls the tryIt method, printing the “OK” or “KO” message.
    <%@ page import="it.reggiocity.provincia.biblioreggiane.*"%>
    <%
    String message = "";
    FederaMLOLSoapClient obj= new FederaMLOLSoapClient( );
    message = obj.tryIt(“AAAAAA70R10H226H”);
    %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <%@ page contentType="text/html;charset=windows-1252"%>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
    <title>prova</title>
    </head>
    <body><%=message%></body>
    </html>
    The situation is:
    My try_ws_client.jsp runs correctly from my jdeveloper and the user is created while creating app.ear and deploying it to my Oracle AS/OC4J as mentioned above, I get a 500 Internal Server Error.
    Any idea to find a solution to this problem?
    Please help.
    Take care.
    John M.

    Hi,
    you want to build the Web Service, or you want to consume the Service as a client? If the latter, Web client (ADF?) or Java client?
    Frank

  • JAXB unmarshaller error in JAX-WS web service

    Hi,
    We have a JAX-WS web service deployed to WLS 10.3.3.0 as an EAR file. The EAR file deploys without any problems, but the first time we attempt to call an operation we get a classloading problem when we run the following code snippet (I've put a comment after the failed line of code):
              Object jaxbObject = null;
              Unmarshaller unmarshaller = null;          
              try {
                   unmarshaller = JAXB_CTX.createUnmarshaller(); // JAXB_CTX is an instance of JAXBContext
                   jaxbObject = unmarshaller.unmarshal(new ByteArrayInputStream(xmlString.getBytes())); // this line fails
              } catch (JAXBException e) {
    If we update the EAR file or delete and re-install the EAR file in the WLS console then the problem doesn't go away, but if we restart the WL server that hosts the EAR file then the problem is resolved. The problem is consistently repeatable.
    The stacktrace for the error is:
    java.lang.ClassCastException: org.apache.xerces.parsers.XML11Configuration
         at org.apache.xerces.parsers.DOMParser.<init>(Unknown Source)
         at org.apache.xerces.parsers.DOMParser.<init>(Unknown Source)
         at org.apache.xerces.jaxp.DocumentBuilderImpl.<init>(Unknown Source)
         at org.apache.xerces.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(Unknown Source)
         at com.sun.org.apache.xalan.internal.xsltc.trax.SAX2DOM.createDocument(SAX2DOM.java:326)
         at com.sun.org.apache.xalan.internal.xsltc.trax.SAX2DOM.<init>(SAX2DOM.java:85)
         at com.sun.org.apache.xalan.internal.xsltc.runtime.output.TransletOutputHandlerFactory.getSerializationHandler(TransletOutputHandlerFactory.java:187)
         at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getOutputHandler(TransformerImpl.java:392)
         at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerHandlerImpl.setResult(TransformerHandlerImpl.java:137)
         at com.sun.xml.bind.v2.runtime.unmarshaller.DomLoader$State.<init>(DomLoader.java:74)
         at com.sun.xml.bind.v2.runtime.unmarshaller.DomLoader.startElement(DomLoader.java:113)
         at com.sun.xml.bind.v2.runtime.unmarshaller.ProxyLoader.startElement(ProxyLoader.java:56)
         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:456)
         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:433)
         at com.sun.xml.bind.v2.runtime.unmarshaller.SAXConnector.startElement(SAXConnector.java:138)
         at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
         at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
         at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
         at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:211)
         at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:184)
         at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:137)
         at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:184)
         at com.northernrock.applicationdataservice.interaction.util.ServiceSoapPortUtil.generateJAXBObjectFromXML(ServiceSoapPortUtil.java:184)
         at com.northernrock.applicationdataservice.interaction.util.DataMapper.mapFullApplication(DataMapper.java:130)
         at com.northernrock.applicationdataservice.interaction.ServiceSoapPort.retrieveFullApplicationData(ServiceSoapPort.java:148)
         at com.northernrock.applicationdataservice.interaction.ServiceSoapPortImpl.retrieveFullApplicationData(ServiceSoapPortImpl.java:69)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at weblogic.wsee.jaxws.WLSInstanceResolver$WLSInvoker.invoke(WLSInstanceResolver.java:92)
         at weblogic.wsee.jaxws.WLSInstanceResolver$WLSInvoker.invoke(WLSInstanceResolver.java:74)
         at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:151)
         at com.sun.xml.ws.server.sei.EndpointMethodHandlerImpl.invoke(EndpointMethodHandlerImpl.java:265)
         at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:100)
         at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:604)
         at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:563)
         at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:548)
         at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:445)
         at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:373)
         at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:524)
         at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:255)
         at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:141)
         at weblogic.wsee.jaxws.WLSServletAdapter.handle(WLSServletAdapter.java:210)
         at weblogic.wsee.jaxws.HttpServletAdapter$AuthorizedInvoke.run(HttpServletAdapter.java:311)
         at weblogic.wsee.jaxws.HttpServletAdapter.post(HttpServletAdapter.java:223)
         at weblogic.wsee.jaxws.JAXWSServlet.doPost(JAXWSServlet.java:124)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
         at weblogic.wsee.jaxws.JAXWSServlet.service(JAXWSServlet.java:79)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:821)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:184)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.doIt(WebAppServletContext.java:3686)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3650)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2268)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1446)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    There seems to be something strange going on with the classloading, such that re-deploying the application causes the wrong Xerces parser classes to be loaded until the WL server is restarted. Once the restart is done then there is no problem until the next re-deployment.
    Does anyone know a fix for this issue?
    Any help is appreciated.
    Thanks,
    Jason

    Hi Jason,
    Below is the sample.....You can use this..
    JAXBElement<Task> root = null;
              try {
                   ByteArrayInputStream input = new ByteArrayInputStream(
                             xmlStr.getBytes());
                   JAXBContext jc = JAXBContext.newInstance(Task.class);
                   Unmarshaller u = jc.createUnmarshaller();
                   StreamSource sc = new StreamSource(new StringReader(
                             xmlStr.toString()));
                   root = u.unmarshal(new StreamSource(input), Task.class);
              } catch (Exception e) {
                   e.printStackTrace();
              }

  • JAX-WS web service - "Cannot find dispatch method"

    I'm getting the same error response every time I send a request to my JAX-WS web service:
    <ns2:Fault xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://www.w3.org/2003/05/soap-envelope">
       <faultcode>ns2:Client</faultcode>
       <faultstring>Cannot find dispatch method for {http://www.w3.org/2003/05/soap-envelope}Envelope</faultstring>
    </ns2:Fault>I've tried using JAX-WS RI 2.1.7 and 2.2 on my Tomcat server, but both return the same error response. It will return the WSDL just fine (when "?wsdl" is appended to the endpoint URL). I used "wsimport" to generate the necessary Java classes from my WSDL--it used JAX-WS RI 2.1.6 (the one included with the JDK I guess) to generate the Java source files.
    Other people online have had similar problems, but never with the SOAP element "{http://www.w3.org/2003/05/soap-envelope}Envelope", always with things specific to their WSDLs like "{}reqParams" or "{http://www.telekom.at/eai/WSToCramerCSIRead}CSIRead". I set a debug breakpoint at the start of my SIB method and it doesn't even get that far.
    Any ideas? Thanks for your help.
    WSDL:
    <?xml version="1.0" encoding="utf-8"?>
    <!-- This wsdl file is for an XDS-I.b Imaging Document Source Actor
         It can be used 'as is' to support Imaging Document Source Retrieve Imaging Document Set Transaction
         using Synchronous Web Services. 
         -->
    <definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
      xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
      xmlns:ihe="urn:ihe:iti:xds-b:2007" xmlns:iherad="urn:ihe:rad:xdsi-b:2009" xmlns:rs="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0"
      targetNamespace="urn:ihe:rad:xdsi-b:2009" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
      xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" name="ImagingDocumentSource">
      <documentation>IHE XDS-I.b Imaging Document Source</documentation>
      <types>
        <xsd:schema elementFormDefault="qualified"
          targetNamespace="urn:ihe:iti:xds-b:2007"
          xmlns:ihe="urn:ihe:iti:xds-b:2007">
          <!-- Include the message schema -->
          <xsd:include schemaLocation="../schema/IHE/XDS.b_DocumentRepository.xsd"/>
        </xsd:schema>
        <xsd:schema elementFormDefault="qualified"
          targetNamespace="urn:ihe:rad:xdsi-b:2009"
          xmlns:ihe="urn:ihe:iti:xds-b:2007"
          xmlns:iherad="urn:ihe:rad:xdsi-b:2009">
          <!-- Include the message schema -->
          <xsd:include schemaLocation="../schema/IHE/XDSI.b_ImagingDocumentSource.xsd"/>
        </xsd:schema>
        <xsd:schema elementFormDefault="qualified"
          targetNamespace="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0"
          xmlns:rs="urn:oasis:names:tc:ebxml-regrep:xsd:rs:3.0">
          <!-- Include the message schema -->
          <xsd:include schemaLocation="../schema/ebRS/rs.xsd"/>
        </xsd:schema>
        <!-- While no elements are directly used from these schema in the WSDL,
          they need to be present here in order for
          code generating toolkits to work properly -->
        <xsd:schema elementFormDefault="qualified"
          targetNamespace="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0"
          xmlns:lcm="urn:oasis:names:tc:ebxml-regrep:xsd:lcm:3.0">
          <!-- Include the message schema -->
          <xsd:include schemaLocation="../schema/ebRS/lcm.xsd"/>
        </xsd:schema>
       <xsd:schema elementFormDefault="qualified"
          targetNamespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"
          xmlns:lcm="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0">
          <!-- Include the message schema -->
          <xsd:include schemaLocation="../schema/ebRS/rim.xsd"/>
        </xsd:schema>
      </types>
      <message name="RetrieveImagingDocumentSetRequest_Message">
        <documentation>Retrieve Imaging Document Set</documentation>
        <part name="body" element="iherad:RetrieveImagingDocumentSetRequest"/>
      </message>
      <message name="RetrieveDocumentSetResponse_Message">
        <documentation>Retrieve Document Set Response</documentation>
        <part name="body" element="ihe:RetrieveDocumentSetResponse"/>
      </message>
      <portType name="ImagingDocumentSource_PortType">
        <operation name="ImagingDocumentSource_RetrieveImagingDocumentSet">
          <input message="iherad:RetrieveImagingDocumentSetRequest_Message"
            wsaw:Action="urn:ihe:rad:xdsi-b:2009:RetrieveImagingDocumentSet"/>
          <output message="iherad:RetrieveDocumentSetResponse_Message"
            wsaw:Action="urn:ihe:iti:2007:RetrieveDocumentSetResponse"/>
        </operation>
      </portType>
      <binding name="ImagingDocumentSource_Binding" type="iherad:ImagingDocumentSource_PortType">
        <soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="ImagingDocumentSource_RetrieveImagingDocumentSet">
          <soap12:operation soapAction="urn:ihe:rad:xdsi-b:2009:RetrieveImagingDocumentSet"/>
          <input>
            <soap12:body use="literal"/>
          </input>
          <output>
            <soap12:body use="literal"/>
          </output>
        </operation>
      </binding>
      <service name="ImagingDocumentSource_Service">
        <port name="ImagingDocumentSource_Port_Soap12" binding="iherad:ImagingDocumentSource_Binding">
          <soap12:address location="http://localhost:8080/webservice-test/ridsService"/>
        </port>
      </service>
    </definitions>
    Request:
    <soap:Envelope
    xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
    xmlns:urn="urn:ihe:rad:xdsi-b:2009"
    xmlns:urn1="urn:ihe:iti:xds-b:2007"
    xmlns:a="http://www.w3.org/2005/08/addressing">
       <soap:Header>
         <a:Action soap:mustUnderstand="1">urn:ihe:rad:2009:RetrieveImagingDocumentSet</a:Action>
         <a:MessageID>urn:uuid:0fbfdced-6c01-4d09-a110-2201afedaa02</a:MessageID>
         <a:ReplyTo soap:mustUnderstand="1">
              <a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
         </a:ReplyTo>
         <a:To>http://localhost:8080/webservice-test/ridsServer</a:To>
       </soap:Header>
       <soap:Body>
          <urn:RetrieveImagingDocumentSetRequest>
             <!--1 or more repetitions:-->
             <urn:StudyRequest studyInstanceUID="test1">
                <!--1 or more repetitions:-->
                <urn:SeriesRequest seriesInstanceUID="test2">
                   <!--1 or more repetitions:-->
                   <urn1:DocumentRequest>
                      <!--Optional:-->
                      <urn1:HomeCommunityId>test3</urn1:HomeCommunityId>
                      <urn1:RepositoryUniqueId>test4</urn1:RepositoryUniqueId>
                      <urn1:DocumentUniqueId>test5</urn1:DocumentUniqueId>
                   </urn1:DocumentRequest>
                </urn:SeriesRequest>
             </urn:StudyRequest>
             <urn:TransferSyntaxUIDList>
                <!--1 or more repetitions:-->
                <urn:TransferSyntaxUID>?</urn:TransferSyntaxUID>
             </urn:TransferSyntaxUIDList>
          </urn:RetrieveImagingDocumentSetRequest>
       </soap:Body>
    </soap:Envelope>
    Response (HTTP 500):
    <ns2:Fault xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://www.w3.org/2003/05/soap-envelope">
       <faultcode>ns2:Client</faultcode>
       <faultstring>Cannot find dispatch method for {http://www.w3.org/2003/05/soap-envelope}Envelope</faultstring>
    </ns2:Fault>

    I posted here to benefit anybody who is looking for a solution.
    The solution is to use WebServiceContext to get ServletContext, then use ServletContext to get parameters defined in web.xml.
    @Resource private WebServiceContext m_wsCxt;
    Then in method
    SOAPMessageContext soapCxt = (SOAPMessageContext) m_wsCxt.getMessageContext();
    ServletContext servletCxt = (ServletContext) soapCxt.get(javax.xml.ws.handler.MessageContext.SERVLET_CONTEXT);
    }

  • Calling One Jax/rpc web service from another.

    We have a number of services residing in the same Oracle 10.1.3 app server container. These are deployed as Jax RPC Web Services
    I am trying to figure out what are the different options to have once web service invoke an operation on another (without directly linking to the Java code). The reason we want to keep separation as far as possible is that these services may later migrate to different app servers and in the spirit of SOA all we want to change when a service migrates is address and would like everything else to remain the same.
    So for example, if Web Service A needs to invoke an operation X in web service B,
    One way to do this seems to be to generate a proxy for web service B, include the proxy in Web Service A and then simply do B.X() from Web Service A.
    Is this is the best way to do it ?
    Are there other alternative approaches available ? Such as using the built in ESB features of Oracle App Server 10.1.3?
    Any pointers will be greatly appreciated.
    Thanks
    RR

    Hi all,
    I've managed to get this working by using the following property settings:
    System.getProperties().setProperty("http.proxyHost", "Proxy_Hostname");
    System.getProperties().setProperty("http.proxyPort", "8080");
    System.getProperties().setProperty("http.nonProxyHosts", "localhost,hostbox09");
    And solving the authentication problem using this property setting on the java cmd line:
    -Dweblogic.net.proxyAuthenticatorClassName=com.mycompany.MyProxyAuthenticator
    This class is an impl class of weblogic.common.ProxyAuthenticator interface.
    The other thing to note is that MyProxyAuthenticator needs to be in the server pre_classpath.
    Then I just call JAX-RPC or JAX-WS web service client calls as normal.
    Regards,
    Paul

  • JAX-WS Web Service with XFire Client

    I wrote a simple web service and client using XFire. However the server now needs to be JAX-WS. I wrote a simple service using NetBeans but I can't seem to get it to work with XFire. JAX-WS doesn't seem to like the SOAP XFire is sending it and the parameters passed into the web method are nulls instead of the intended values.
    Here is my web service:
    package org.me.hi;
    import javax.jws.WebMethod;
    import javax.jws.WebResult;
    import javax.jws.WebService;
    import javax.jws.soap.SOAPBinding;
    import javax.jws.soap.SOAPBinding.Style;
    import javax.jws.soap.SOAPBinding.Use;
    import javax.jws.soap.SOAPBinding.ParameterStyle;
    @WebService(name="HelloWS", targetNamespace="http://hi.me.org")
    @SOAPBinding(style=Style.DOCUMENT, use=Use.LITERAL, parameterStyle=ParameterStyle.WRAPPED)
    public class HelloWS {
        @WebMethod(operationName="add", action="")
        @WebResult(name="return", targetNamespace="http://hi.me.org")
        public Integer add(Integer a, Integer b) {
            if (a == null)
                System.out.println("a is null");
                return null;
            if (b == null)
                System.out.println("b is null");
                return null;
            System.out.println("a: " + a + " b: " + b);
            return a + b;
    }Here is the WSDL:
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions xmlns:tns="http://hi.me.org" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://hi.me.org" name="HelloWSService">
      <types>
        <xsd:schema>
          <xsd:import namespace="http://hi.me.org" schemaLocation="http://localhost:8084/HelloWS/HelloWS?xsd=1"/>
        </xsd:schema>
      </types>
      <message name="add">
        <part element="tns:add" name="parameters"/>
      </message>
      <message name="addResponse">
        <part element="tns:addResponse" name="parameters"/>
      </message>
      <portType name="HelloWS">
        <operation name="add">
          <input message="tns:add"/>
          <output message="tns:addResponse"/>
        </operation>
      </portType>
      <binding type="tns:HelloWS" name="HelloWSPortBinding">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="add">
          <soap:operation soapAction=""/>
          <input>
            <soap:body use="literal"/>
          </input>
          <output>
            <soap:body use="literal"/>
          </output>
        </operation>
      </binding>
      <service name="HelloWSService">
        <port binding="tns:HelloWSPortBinding" name="HelloWSPort">
          <soap:address location="http://localhost:8084/HelloWS/HelloWS"/>
        </port>
      </service>
    </definitions>Here is my quick and dirty XFire client:
    package org.me.hi;
    import java.net.MalformedURLException;
    import java.net.URL;
    import org.codehaus.xfire.client.Client;
    public class HelloTest {
        public static void main(String[] args) {
            Client client;
            try {
                client = new Client(new URL("http://localhost:8085/HelloWS/HelloWS?wsdl"));
                Object[] results = client.invoke("add", new Object[] {1, 2});
                if (results.length != 0) {
                    System.out.println("result: " + (Integer)results[0]);
                } else {
                    System.out.println("null return");
            } catch (MalformedURLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
    }Here is the SOAP I intercepted between the XFire client and the JAX-WS service:
    Calling the web method:
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <soap:Body>
        <ns1:add xmlns:ns1="http://hi.me.org">
          <ns1:arg0>1</ns1:arg0>
          <ns1:arg1>2</ns1:arg1>
        </ns1:add>
      </soap:Body>
    </soap:Envelope>Response:
    <?xml version="1.0" ?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://hi.me.org">
      <soapenv:Body>
        <ns1:addResponse></ns1:addResponse>
      </soapenv:Body>
    </soapenv:Envelope>Console at the server side:
    a is nullConsole at the client side:
    null returnNot sure what I'm doing wrong, but I wrote a quick JAX-WS client using NetBeans and it works. We would like to keep using XFire if possible. Here is the SOAP between the JAX-WS client and the JAX-WS web service.
    <?xml version="1.0" ?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://hi.me.org/">
      <soapenv:Body>
        <ns1:add>
          <arg0>1</arg0>
          <arg1>2</arg1>
        </ns1:add>
      </soapenv:Body>
    </soapenv:Envelope>
    <?xml version="1.0" ?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://hi.me.org/">
      <soapenv:Body>
        <ns1:addResponse>
          <return>3</return>
        </ns1:addResponse>
      </soapenv:Body>
    </soapenv:Envelope>

    Result after navigating to: http://localhost:8084/HelloWS/HelloWS?xsd=1
    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://hi.me.org/" version="1.0">
      <xs:element xmlns:ns1="http://hi.me.org/" type="ns1:add" name="add"/>
      <xs:complexType name="add">
        <xs:sequence>
          <xs:element type="xs:int" minOccurs="0" name="arg0"/>
          <xs:element type="xs:int" minOccurs="0" name="arg1"/>
        </xs:sequence>
      </xs:complexType>
      <xs:element xmlns:ns2="http://hi.me.org/" type="ns2:addResponse" name="addResponse"/>
      <xs:complexType name="addResponse">
        <xs:sequence>
          <xs:element type="xs:int" minOccurs="0" name="return"/>
        </xs:sequence>
      </xs:complexType>
    </xs:schema>

  • Simple JAX-WS web service does not work on WS7u6

    Hello,
    I am trying to deploy a very simple JAX-WS web service on WS7u6, but it is not working. The same service deployed on Tomcat 6.0.16 works fine.
    The service I'm trying to deploy is from a tutorial on the Netbeans website: [http://netbeans.org/kb/docs/websvc/jax-ws.html] - it is a simple calculator web service that adds two ints and returns an int.
    I follow the tutorial to the letter, but when I attempt to deploy on WS7, it fails as follows:
    [10/Dec/2009:21:21:44] info (25757): CORE3276: Installing a new configuration
    [10/Dec/2009:21:21:44] info (25757): WEB0118: SSO is enabled in virtual server [dadydude.qisc.com]
    [10/Dec/2009:21:21:44] info (25757): WEB0100: Loading web module in virtual server [dadydude.qisc.com] at [/wstest]
    [10/Dec/2009:21:21:44] info (25757): WSSERVLET12: JAX-WS context listener initializing
    [10/Dec/2009:21:21:44] info (25757): wsdl cannot be found from DD or annotation. Will generate and publish a new WSDL for SEI endpoints.
    [10/Dec/2009:21:21:44] failure (25757): WSSERVLET11: failed to parse runtime descriptor: class: org.me.calculator.jaxws.Add could not be found
    class: org.me.calculator.jaxws.Add could not be found
         at com.sun.xml.ws.modeler.RuntimeModeler.getClass(RuntimeModeler.java:271)
         at com.sun.xml.ws.modeler.RuntimeModeler.processDocWrappedMethod(RuntimeModeler.java:562)
         at com.sun.xml.ws.modeler.RuntimeModeler.processMethod(RuntimeModeler.java:509)
         at com.sun.xml.ws.modeler.RuntimeModeler.processClass(RuntimeModeler.java:355)
         at com.sun.xml.ws.modeler.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:251)
         at com.sun.xml.ws.server.RuntimeEndpointInfo.createSEIModel(RuntimeEndpointInfo.java:170)
         at com.sun.xml.ws.server.RuntimeEndpointInfo.init(RuntimeEndpointInfo.java:317)
         at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.createModelAndMetadata(WSServletContextListener.java:200)
         at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(WSServletContextListener.java:120)
         at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4456)
         at org.apache.catalina.core.StandardContext.start(StandardContext.java:5113)
         at com.sun.webserver.connector.nsapi.WebModule.start(WebModule.java:235)
         at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1224)
         at org.apache.catalina.core.StandardHost.start(StandardHost.java:924)
         at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1224)
         at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:520)
         at org.apache.catalina.startup.Embedded.start(Embedded.java:917)
         at com.sun.enterprise.web.PwcWebContainer.onStartup(PwcWebContainer.java:70)
         at com.sun.webserver.connector.nsapi.WebContainer.start(WebContainer.java:491)
         at com.sun.webserver.init.J2EERunner.confPostInit(J2EERunner.java:304)
    [10/Dec/2009:21:21:44] failure (25757): WebModule[/wstest]PWC1275: Exception sending context initialized event to listener instance of class com.sun.xml.ws.transport.http.servlet.WSServletContextListener
    WSSERVLET11: failed to parse runtime descriptor: class: org.me.calculator.jaxws.Add could not be found
         at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(WSServletContextListener.java:131)
         at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4456)
         at org.apache.catalina.core.StandardContext.start(StandardContext.java:5113)
         at com.sun.webserver.connector.nsapi.WebModule.start(WebModule.java:235)
         at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1224)
         at org.apache.catalina.core.StandardHost.start(StandardHost.java:924)
         at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1224)
         at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:520)
         at org.apache.catalina.startup.Embedded.start(Embedded.java:917)
         at com.sun.enterprise.web.PwcWebContainer.onStartup(PwcWebContainer.java:70)
         at com.sun.webserver.connector.nsapi.WebContainer.start(WebContainer.java:491)
         at com.sun.webserver.init.J2EERunner.confPostInit(J2EERunner.java:304)
    Caused by: class: org.me.calculator.jaxws.Add could not be found
         at com.sun.xml.ws.modeler.RuntimeModeler.getClass(RuntimeModeler.java:271)
         at com.sun.xml.ws.modeler.RuntimeModeler.processDocWrappedMethod(RuntimeModeler.java:562)
         at com.sun.xml.ws.modeler.RuntimeModeler.processMethod(RuntimeModeler.java:509)
         at com.sun.xml.ws.modeler.RuntimeModeler.processClass(RuntimeModeler.java:355)
         at com.sun.xml.ws.modeler.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:251)
         at com.sun.xml.ws.server.RuntimeEndpointInfo.createSEIModel(RuntimeEndpointInfo.java:170)
         at com.sun.xml.ws.server.RuntimeEndpointInfo.init(RuntimeEndpointInfo.java:317)
         at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.createModelAndMetadata(WSServletContextListener.java:200)
         at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(WSServletContextListener.java:120)
         ... 11 more
    [10/Dec/2009:21:21:44] failure (25757): PWC1306: Startup of context /wstest failed due to previous errors
    [10/Dec/2009:21:21:44] failure (25757): Null component com.sun.web-3:type=JspMonitor,name=jsp,WebModule=//localhost/wstest,J2EEApplication=null,J2EEServer=none
    [10/Dec/2009:21:21:44] info (25757): CORE3280: A new configuration was successfully installed
    [10/Dec/2009:21:21:44] info (25757): WSSERVLET13: JAX-WS context listener destroyedAm I simply missing something obvious here?
    Thanks,
    Bill

    OK, I've made significant progress.
    As I suspected, JAX-WS was indeed supposed to generate the missing class for me, but while it appears to do so automatically when deploying in Tomcat, it is necessary to hack your build.xml file to add the generated classes to your WAR file for WS7. Reference [http://developers.sun.com/webtier/reference/techart/websvcs_nb.html] for a (rather dated) description of how to deploy a JAX-WS service on WS7 (using Netbeans 5.0!).
    Note that as of NB6.7/6.8 much of the manual process is now done automatically by Netbeans, but curiously, not the part that actually causes the web service code to be generated. For that, we have to manually modify the build.xml to include a "-pre-dist" target that invokes the wsgen Ant task.
    This is the target I added to build.xml for this sample calculator service:
      <target name="-pre-dist">
        <taskdef name="wsgen" classname="com.sun.tools.ws.ant.WsGen">
          <classpath path="${javac.classpath}:${j2ee.platform.classpath}"/>
        </taskdef>
        <wsgen
          debug="true"
          keep="true"
          destdir="build/web/WEB-INF/classes"
          resourcedestdir="build/web/WEB-INF/classes"
          xendorsed="true"
          sei="org.me.calculator.CalculatorWS">
          <classpath>
            <pathelement path="${javac.classpath}:${j2ee.platform.classpath}"/>
            <pathelement location="${java.home}/../lib/tools.jar"/>
            <pathelement location="build/web/WEB-INF/classes"/>
          </classpath>
        </wsgen>
      </target>That will allow the project to build and deploy successfully, and I am now able to view my WSDL.
    However, at first the service itself was not working. After a bit of casting about, I determined that this was due to the fact that at some point I had added the METRO library to the project rather than simply the JAX-WS 2.2 library. After returning the configuration to just use JAX-WS and doing a clean build and deploy, the simple web service now works!
    One thought does emerge from all this, though: if the built in support for Tomcat runs wsgen for me when I deploy an app to that container, perhaps the Sun WS7 team needs to update their Netbeans plugin to do this for us, too. I should probably open a support case on that...
    OK, now on to real work. ;-)
    Bill

  • How to create JAX-WS web services using providers?

    I am looking at WebLogic web services, because we are investigating the possibility of migrating our web services from Apache CXF to WegLogic web services. Our web services are implemented using JAX-WS providers. However, I browsed through the Oracle Fusion Middleware document library, but I couldn't find any documents for implementing JAX-WS web services using providers.
    Is there any document, tutorial, or examples of that?
    Thanks in advance!
    Tao

    Ok just as I expected. So I guess I am left with the following two options
    1) either I switched to using JAXB in my apps instaed of xmlbeans....
    2) or if I still wanna use the old JAX-RPC web services to deploy on the Weblogic 10gR3 server i will have to create my own ant task jwsc directly......as shown below in your docs
    Programming Web Services for WebLogic Server (ant tasks)
    http://download.oracle.com/docs/cd/E13222_01/wls/docs92/webserv/anttasks.html
    Getting Started With WebLogic Web Services Using JAX-RPC
    http://download.oracle.com/docs/cd/E12840_01/wls/docs103/webserv_rpc/index.html
    Will OEPE be supporting the old JAX-RPC anytime in the near future release? or have to create own build ant task to call jwsc ant task directly to compile JAX-RPC web services??

  • Asynchronous JAX-RPC Web services

    In our application we would like to make a non-blocking call
    to a single web service ( so we don't need to use BPEL).
    Do you have a pointer to the document about creating Asynchronous JAX-RPC Web services and writing client code?
    Thanks!
    -- Qun

    Yes interoperability is the biggest advantage you get with JAX-RPC services.
    JAX-RPC spec (JSR 101) defines a standard way in which a web service should be written so that it interoperates between different application servers. It does away with the vendor specific api's and implementation of web services.
    Chandar

  • Planned support for JAX-WS web services?

    Are there any plans for JDeveloper to support JAX-WS web services in the near future (https://jax-ws.dev.java.net/)
    I know that I can just import the libraries and develop code from scratch, but it would be nice if I could actually run the code in OC4J!

    Hello,
    As you know Oracle is commiteed to industry standard and Java EE, so we are (inside OracleAS and JDeveloper team) involve in the standardization effort and well aware of the Glassfish/JAX-WS code and features.
    Today our priority is really on J2EE 1.4 and we have delivered great tooling and runtime with 10gR3.
    We are working on different evolutions around Web Services and Oracle stack such as support of more and more WS-*, more interoperability, additional annotations to provider better development experience; and as part of this overall effort JAX-WS is also included. So yes we are planning to support JAX-WS but not release date yet.
    RegardsTugdual Grall

  • Jax-ws web service client

    Hi, I am confused by the web service document http://docs.oracle.com/cd/E17904_01/web.1111/e13758/use_cases.htm#i244846 section 2.4. The Note states:
    You can invoke a Web service from any Java SE or Java EE application running on WebLogic Server (with access to the WebLogic Server classpath). Invoking a Web service from stand-alone Java applications that are running in an environment where WebLogic Server libraries are not available is not supported in this release for JAX-WS Web services.If I understand it correctly, it says jax-ws only can be consumed by the clients that have access to wls libraries. My web service client will be 3rd party business parnter. Not sure if they are on wls or not. Does it mean I can't use jax-ws?

    When you just use the JAX-WS standard you do not need any WebLogic related classes to create a client for your web service.
    When the web service is deployed the WSDL can be accessed. By using this WSDL you can create your client by using tools
    such as wsimport (which comes with a JDK distribution and is located in the JDK_HOME/bin directory)
    wsimport -keep -d C:\YOUR_PROJECT\src http://hostname:port/context/SomeWebService?wsdlthe 'keep' option make sure the generated .java files are not thrown away.

  • How to run a JAX-RPC web service

    I wrote the essential interface and classes to build a JAX-RPC web service, and I installed the J2SE 1.4.2 and Java Web Services Developer Pack 1.2 in Windows XP.
    I have read the Java Web Services Tutorial, but is so confusing for me.
    Anyone can provide the steps about the environment config, compile, package, and run the web service in Tomcat? thx

    I wrote these interface and class to create a simple web service:
    package test;
    import java.rmi.*;
    public interface HelloIF extends Remote {
    String sayHello(String s) throws RemoteException;
    package test;
    public class HelloImpl implements HelloIF {
    public String sayHello(String s) {
    return message + " " + s;
    I compiled these 2 and the *.class files exist in D:\backup\JAVA\fyp\test
    and then I wrote the config.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <configuration xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config">
    <service name="MyHelloService" targetNamespace="urn:Foo" typeNamespace="urn:Foo" packageName="test">
    <interface name="test.HelloIF" />
    </service>
    </configuration>
    I placed the config.xml in D:\backup\JAVA\fyp, then I type the following command:
    D:\backup\JAVA\fyp>wscompile -define config.xml -model model.gz
    the system response is:
    error: RmiModeler error: java.lang.ClassNotFoundException: test$HelloIF
    what's wrong?

  • JAX-WS web service client and Windows integrated Security authentication

    I am currently developing a JAX-WS web service client running on WebLogic 10.3.2.0. The client is connecting to exchange web service running on IIS.
    Everything works well when EWS is configured with Http basic authentication.
    The problems started when I changed the autentication method on EWS from Http basic authentication to Windows integrated Security authentication.
    The client is then unable to authenticate to the web service. Every request made to EWS returns with the message : Invalid HTTP server response [401] - Unauthorized.
    I tried using an authenticator like this one:
    static class RetrieveWSDLAuthenticator extends Authenticator
    private String username, password;
    public RetrieveWSDLAuthenticator(String user, String pass)
    username = user;
    password = pass;
    @Override
    protected PasswordAuthentication getPasswordAuthentication()
    return new PasswordAuthentication(username, password.toCharArray());
    and setting it as the default authenticator :
    Authenticator.setDefault(new MyAuthenticator("username", "password"));
    but the method getPasswordAuthentication() was not even called.
    Is there a way to make a JAX-WS client works with Windows integrated Security ?

    WIS is not suppported on WLS JAX-WS. You'll need to use other authentication mechanisms such as http basic (which you tried already), or message-level security such as UNT, or SAML.
    Regards,
    Pyounguk

Maybe you are looking for