Weblogic 8, no jax-rpc context info available error

i've developed some web services using the jwsdp 1.3. they deploy and run fine in jwsdp 1.3 and also in jboss 3.2. i deployed the same web services in weblogic 8.1 with no problems. when i access the web service and the wsdl, i get the following error:
Web Services
No JAX-RPC context information available.
my jaxrpc-ri.xml is:
<?xml version="1.0" encoding="UTF-8"?>
<webServices
    xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/dd"
    version="1.0"
    targetNamespaceBase="urn:Foo"
    typeNamespaceBase="urn:Foo"
    urlPatternBase="/ws">
    <endpoint
        name="JobService"
        displayName="WorkPoint Job Service"
        description="WorkPoint Job Service for API calls"
        interface="com.workpoint.webservices.JobServiceIF"
        wsdl="/WEB-INF/JobService.wsdl"
        model="/WEB-INF/JobService.xml.gz"
        implementation="com.workpoint.webservices.JobServiceImpl"/>
    <endpoint
        name="ServerConfigService"
        displayName="WorkPoint ServerConfig Service"
        description="WorkPoint ServerConfig Service for API calls"
        interface="com.workpoint.webservices.ServerConfigServiceIF"
        wsdl="/WEB-INF/ServerConfigService.wsdl"
        model="/WEB-INF/ServerConfigService.xml.gz"
        implementation="com.workpoint.webservices.ServerConfigServiceImpl"/>
    <endpoint
        name="WorkItemService"
        displayName="WorkPoint Job Service"
        description="WorkPoint Job Service for API calls"
        interface="com.workpoint.webservices.WorkItemServiceIF"
        wsdl="/WEB-INF/WorkItemService.wsdl"
        model="/WEB-INF/WorkItemService.xml.gz"
        implementation="com.workpoint.webservices.WorkItemServiceImpl"/>
    <endpointMapping
        endpointName="JobService"
        urlPattern="/JobService"/>
    <endpointMapping
        endpointName="ServerConfigService"
        urlPattern="/ServerConfigService"/>
    <endpointMapping
        endpointName="WorkItemService"
        urlPattern="/WorkItemService"/>
</webServices>any ideas on what is going on? also, what is the urlPatternBase used for?

I had this problem when I created custom web services : some classes where not generated in the right folder (ie package name).
Check the content of the generated war to see if all the necessary classes and files are in it and in the right place.

Similar Messages

  • No JAX-RPC Context Information Available

    Hello
    I am new to java and webservice.
    I am using jdk1.4.2 and jwsdp1.2 and tomcat 4.1.27
    I have problems in running ant so i manually ran wscompile, wsdeploy to create and deploy a war file. when i put the war file in the webapps directory of tomcat(attached with jwsdp) it unpacks and when i browse the url http://localhost:8080/hello-jaxrpc/hello i get the error
    "No JAX-RPC Context Information Available"
    When i tried to deploy the war file in tomcat4.1.27 standalone server it unpacked the file but when i browsed the url it returned 404.
    What could be the problem? Please help
    Thanks in advance
    Shiva

    I would encourage you to use the tomcat which comes
    packaged with jwsdp1.2
    I seems to me that context name that you are using
    in your URL does not match the context used by your
    desired endpoint. So you need to ensure that thisis
    correct.

  • Web Services  No JAX-WS context information available.

    Hi Guys,
    Hope you are doing well. I need a bit of help here. I have developed a java application and I am trying to make it a web service. So can you guys help me . Whenever I try "http://localhost:9090/" I keep getting "Web Services No JAX-WS context information available." this message. I have not yet developed a client. So far I am just trying to run it as a service. Below is the code for a sample Java application. I am thinking if I can get this Java program to work then maybe I will be able to get my Java program to work.
    package Endpoint;
    import javax.jws.WebMethod;
    import javax.jws.WebService;
    import javax.jws.*;
    import javax.jws.soap.SOAPBinding;
    import javax.xml.ws.Endpoint;
    @WebService
    public class Example25 {
         private String message = new String("Hello, ");
         public String sayHello(){
              return message + "Dipin" + ".";
         public static void main(String []args){
              String endpointUri = "http://localhost:9090/";
            Endpoint.publish(endpointUri, new Example25());
              //System.out.println("Service started at: " + endpointUri);
    }***********Here is the Java version I am using. ******************
    Microsoft Windows XP [Version 5.1.2600]
    (C) Copyright 1985-2001 Microsoft Corp.
    C:\Documents and Settings\Administrator>java -version
    java version "1.6.0_07"
    Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
    Java HotSpot(TM) Client VM (build 10.0-b23, mixed mode)
    C:\Documents and Settings\Administrator>
    **********Here is my Classpath Setting***************
    ;.;C:\Program Files\Java\jre1.6.0_07\lib\ext\QTJava.zip;.;
    C:\Program Files\Java\jre1.6.0_07\bin;.;
    C:\Program Files\Java\jre1.6.0_07\lib\ext\mail-1.4.1.jar;.;
    C:\Program Files\Java\jre1.6.0_07\lib\ext\activation.jar;.;
    C:\generodb\antsjdbc\antsjdbc.jar;.;
    C:\Program Files\Java\jre1.6.0_07\lib\ext\metro-1_2.jar;.;
    C:\Program Files\Java\jre1.6.0_07\lib\ext\JAXWS2.1.5-20081030.jar;.;
    C:\Program Files\Java\jre1.6.0_07\lib\ext\jaxws-ri\lib\jaxws-tools.jar;.;
    C:\Program Files\Java\jre1.6.0_07\lib\ext\jaxws-ri\lib\*.*;.;
    C:\Program Files\Java\JavaEE5\jdk\jre\lib\javaws.jar;.;
    **********Java Program compliation and running*************
    C:\Documents and Settings\Java Samples\Example25\src>javac Endpoint/Example25.java
    C:\Documents and Settings\Java Samples\Example25\src>java Endpoint.Example25
    Mar 5, 2009 4:05:49 PM com.sun.xml.ws.model.RuntimeModeler getRequestWrapperClas
    s
    INFO: Dynamically creating request wrapper Class Endpoint.jaxws.SayHello
    Mar 5, 2009 4:05:49 PM com.sun.xml.ws.model.RuntimeModeler getResponseWrapperCla
    ss
    INFO: Dynamically creating response wrapper bean Class Endpoint.jaxws.SayHelloRe
    Sponse
    Thanks and Regards,
    Dipin

    Hi Guys,
    Hope you are doing well. I need a bit of help here. I have developed a java application and I am trying to make it a web service. So can you guys help me . Whenever I try "http://localhost:9090/" I keep getting "Web Services No JAX-WS context information available." this message. I have not yet developed a client. So far I am just trying to run it as a service. Below is the code for a sample Java application. I am thinking if I can get this Java program to work then maybe I will be able to get my Java program to work.
    package Endpoint;
    import javax.jws.WebMethod;
    import javax.jws.WebService;
    import javax.jws.*;
    import javax.jws.soap.SOAPBinding;
    import javax.xml.ws.Endpoint;
    @WebService
    public class Example25 {
         private String message = new String("Hello, ");
         public String sayHello(){
              return message + "Dipin" + ".";
         public static void main(String []args){
              String endpointUri = "http://localhost:9090/";
            Endpoint.publish(endpointUri, new Example25());
              //System.out.println("Service started at: " + endpointUri);
    }***********Here is the Java version I am using. ******************
    Microsoft Windows XP [Version 5.1.2600]
    (C) Copyright 1985-2001 Microsoft Corp.
    C:\Documents and Settings\Administrator>java -version
    java version "1.6.0_07"
    Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
    Java HotSpot(TM) Client VM (build 10.0-b23, mixed mode)
    C:\Documents and Settings\Administrator>
    **********Here is my Classpath Setting***************
    ;.;C:\Program Files\Java\jre1.6.0_07\lib\ext\QTJava.zip;.;
    C:\Program Files\Java\jre1.6.0_07\bin;.;
    C:\Program Files\Java\jre1.6.0_07\lib\ext\mail-1.4.1.jar;.;
    C:\Program Files\Java\jre1.6.0_07\lib\ext\activation.jar;.;
    C:\generodb\antsjdbc\antsjdbc.jar;.;
    C:\Program Files\Java\jre1.6.0_07\lib\ext\metro-1_2.jar;.;
    C:\Program Files\Java\jre1.6.0_07\lib\ext\JAXWS2.1.5-20081030.jar;.;
    C:\Program Files\Java\jre1.6.0_07\lib\ext\jaxws-ri\lib\jaxws-tools.jar;.;
    C:\Program Files\Java\jre1.6.0_07\lib\ext\jaxws-ri\lib\*.*;.;
    C:\Program Files\Java\JavaEE5\jdk\jre\lib\javaws.jar;.;
    **********Java Program compliation and running*************
    C:\Documents and Settings\Java Samples\Example25\src>javac Endpoint/Example25.java
    C:\Documents and Settings\Java Samples\Example25\src>java Endpoint.Example25
    Mar 5, 2009 4:05:49 PM com.sun.xml.ws.model.RuntimeModeler getRequestWrapperClas
    s
    INFO: Dynamically creating request wrapper Class Endpoint.jaxws.SayHello
    Mar 5, 2009 4:05:49 PM com.sun.xml.ws.model.RuntimeModeler getResponseWrapperCla
    ss
    INFO: Dynamically creating response wrapper bean Class Endpoint.jaxws.SayHelloRe
    Sponse
    Thanks and Regards,
    Dipin

  • Where i can find weblogic implementation of JAX-RPC

    HI,
    where i can find weblogic implementation of jax-rpc...please help.
    Thanks in advance
    Akhil Nagpal

    Hi Akhil,
    This JAX-RPC 1.0 implementation, is in the WLS 7.0 product itself. Refer to the
    following link for details:
    http://edocs.bea.com/wls/docs70/webserv/index.html
    Regards,
    Mike Wooten
    "Akhil Nagpal" <[email protected]> wrote:
    >
    HI,
    where i can find weblogic implementation of jax-rpc...please help.
    Thanks in advance
    Akhil Nagpal

  • RPC Server not Available error when using Windows Fax & Scan under Windows 7

    RPC Server not Available error when using Windows Fax & Scan under Windows 7

    Hi,
    On current situation, please remove the old fax account and re-add a new fax account in Windows Fax and Scan, then check if this issue sill exist. For more details, please refer to following similar thread and artilces.
    RPC Server not Available error when using Windows Fax & Scan
    under Windows
    The local fax account is inaccessible after you rename a Windows Vista-based computer
    Cannot send fax from Windows Vista/Windows 7 PC with “RPC Server not Available” error message
    Note: Microsoft is providing this information as a convenience to you. The sites are not controlled by Microsoft. Microsoft cannot make any representations regarding the quality, safety, or suitability of any software or information found there. Please
    make sure that you completely understand the risk before retrieving any suggestions from the above link.
    If any update, please feel free to let me know.
    Best regards,
    Justin Gu
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Support, contact [email protected]

  • JAX-RPC Web services client error

    Hi!
    I use Jdevelop 10g 9.0.5.2 with JAX-RPC extension and OC4J 10.1.3.
    I can develop RPC/literal and document/literal Web services, but when I try to run a client program I've got this error.
    "Error: cannot access class oracle.j2ee.ws.saaj.soap.Constants; file oracle\j2ee\ws\saaj\soap\Constants.class not found"
    Could anyone tell me how to solve this problem?

    Hi,
    I am attempting the same task. With different problems.
    After creating a .war with deploytool, I try to deploy it to a OC4J that comes with JDev.
    It result in an exception saying the Servlet is not a Servlet. Wich is true.
    Do you know how to deploy this .war to an OC4J? (read IAS 9.0.3)

  • Use of JAX RPC Weblogic Callback Capability

    Just walking through the Callback example in the bea documentation at:
    http://edocs.bea.com/wls/docs100/webserv_adv/callback.html#wp259721
    But I can't seem to get the example to build properly, anyone else have troubles with this?
    Anyone else using callbacks at all?
    Code trying to build:
    = = = = = = = = = = = = = = = = = =
    package jsip.jaxrpc.services;
    import weblogic.jws.WLHttpTransport;
    import weblogic.jws.*;
    import weblogic.wsee.jws.CallbackInterface;
    import javax.jws.WebMethod;
    import javax.jws.WebService;
    @WebService(name="CallbackPortType",
    serviceName="WhereIsWaldo",
    targetNamespace="http://examples.org/")
    @WLHttpTransport(contextPath="callback",
    serviceUri="WhereIsWaldo",
    portName="WhereIsWaldo")
    public class JaxrpcAsyncReqRes
    @Callback
    CallbackInterface callback;
    @WebMethod
    public void callbackOperation (String message)
    callback.callbackOperation (message);
    Error produced:
    = = = = = = = = = = == = =
    [jwsc] [ERROR] - weblogic.jws.CallbackService Annotation must be present on weblogic.wsee.jws.CallbackInterface.
    [jwsc] [ERROR] - The annotation weblogic.jws.Exclude is not allowed on callback interface weblogic.wsee.jws.CallbackInterface.
    Error message when building:

    Hi Akhil,
    This JAX-RPC 1.0 implementation, is in the WLS 7.0 product itself. Refer to the
    following link for details:
    http://edocs.bea.com/wls/docs70/webserv/index.html
    Regards,
    Mike Wooten
    "Akhil Nagpal" <[email protected]> wrote:
    >
    HI,
    where i can find weblogic implementation of jax-rpc...please help.
    Thanks in advance
    Akhil Nagpal

  • Want to run jax-rpc sample from sun's webservice tutorial in the wls7

    hello
    i want to deploy the jax-rpc sample that come with the sun's tutorial(hello) and
    can works well in the tomcat into wls7,but the wls tell me that some files can't
    be found,then i add enough jar files under the jwsdp to the lib directory of the
    war package till the deployment success,but when i invoke it in the browser,the
    browser tell me "no jax-rpc context available",why?and the same package even can't
    be deployed in the jboss,the jboss always complain that the "class not found",but
    i am sure the classes is included in the lib jar files,why?who can help me?
    thank you

    Hello,
    Could you post a stack trace?
    Thanks,
    Bruce
    zbcong wrote:
    >
    hello
    i want to deploy the jax-rpc sample that come with the sun's tutorial(hello) and
    can works well in the tomcat into wls7,but the wls tell me that some files can't
    be found,then i add enough jar files under the jwsdp to the lib directory of the
    war package till the deployment success,but when i invoke it in the browser,the
    browser tell me "no jax-rpc context available",why?and the same package even can't
    be deployed in the jboss,the jboss always complain that the "class not found",but
    i am sure the classes is included in the lib jar files,why?who can help me?
    thank you

  • 503 error code when trying to access a weblogic jax-rpc webservice

    I'm going crazy on a webservice issue with Weblogic server 10.2.
    I have a DocumentRepository webservice deployed and I generated a JAX-RPC library based on its WSDL.
    Now I'm trying to access this webservice from Spring in a desktop application with the following bean declaration:
    <bean id="documentRepository" class="eu.europa.ec.rdg.efp.services.document.v1_00.DocumentRepository_Impl">
         <constructor-arg value="http://myserver.mycompany.com:7021/efpServices/DocumentRepository?WSDL" />
    </bean>
    But when the Spring application context initializes, after a few minutes, I get the following exception:
    javax.xml.rpc.ServiceException: Failed to parse WSDL http://myserver.mycompany.com:7021/efpServices/DocumentRepository?WSDL weblogic.wsee.wsdl.WsdlException: Failed to read wsdl file from url due to -- java.io.IOException: Server returned HTTP response code: 503 for URL: http://myserver.mycompany.com:7021/efpServices/DocumentRepository?WSDL
    +     at weblogic.wsee.jaxrpc.ServiceImpl.throwServiceException(ServiceImpl.java:174)+
    +     at weblogic.wsee.jaxrpc.ServiceImpl.loadWsdlDefinition(ServiceImpl.java:485)+
    +     at weblogic.wsee.jaxrpc.ServiceImpl.<init>(ServiceImpl.java:119)+
    +     at eu.europa.ec.rdg.efp.services.document.v1_00.DocumentRepository_Impl.<init>(Unknown Source)+
    +     at eu.europa.ec.rdg.efp.services.document.v1_00.DocumentRepository_Impl.<init>(Unknown Source)+
    +     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)+
    +     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)+
    +     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)+
    +     at java.lang.reflect.Constructor.newInstance(Constructor.java:513)+
    +     at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)+
    +     ... 35 more+
    Caused by: weblogic.wsee.wsdl.WsdlException: Failed to read wsdl file from url due to -- java.io.IOException: Server returned HTTP response code: 503 for URL: http://myserver.mycompany.com:7021/efpServices/DocumentRepository?WSDL
    +     at weblogic.wsee.wsdl.WsdlReader.getDocument(WsdlReader.java:313)+
    +     at weblogic.wsee.wsdl.WsdlDefinitions.parse(WsdlDefinitions.java:403)+
    +     at weblogic.wsee.wsdl.WsdlDefinitions.parse(WsdlDefinitions.java:389)+
    +     at weblogic.wsee.wsdl.WsdlFactory.parse(WsdlFactory.java:79)+
    +     at weblogic.wsee.wsdl.WsdlFactory.parse(WsdlFactory.java:66)+
    +     at weblogic.wsee.jaxrpc.ServiceImpl.loadWsdlDefinition(ServiceImpl.java:476)+
    +     ... 43 more+
    Caused by: java.io.IOException: Server returned HTTP response code: 503 for URL: http://myserver.mycompany.com:7021/efpServices/DocumentRepository?WSDL
    +     at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1305)+
    +     at weblogic.wsee.util.is.InputSourceUtil.loadURL(InputSourceUtil.java:100)+
    +     at weblogic.wsee.util.dom.DOMParser.getWebLogicDocumentImpl(DOMParser.java:118)+
    +     at weblogic.wsee.util.dom.DOMParser.getDocument(DOMParser.java:65)+
    +     at weblogic.wsee.wsdl.WsdlReader.getDocument(WsdlReader.java:311)+
    +     ... 48 more+
    Yet, I can see the WSDL in my browser when I go to http://myserver.mycompany.com:7021/efpServices/DocumentRepository?WSDL
    Now it looks a lot like a proxy issue, which is possible because I'm behind a proxy, and I had to set the following command-line parameters in order to access remote HTTP resources before the spring application context is initialized:
    -DproxySet=true -DproxyHost=<my proxy IP> -DproxyPort=8012
    And I authenticate to my proxy using the following code, once again before the Spring application context is initialized:
    Authenticator.setDefault(new Authenticator() {
                                       protected PasswordAuthentication getPasswordAuthentication() {
                                            return new PasswordAuthentication(<my login>, <my password>);
    Yet, those settings seem to have absolutely no effect on how the webservice client is loading the WSDL.
    So my question is the following: is it possible to specify a proxy to be used by the webservice client class to load the WSDL? If yes, how?
    On the other hand, if it was a proxy issue, then I guess the webservice client couldn't reach the server and I would get a connection timeout or something. But here I get a response, even though it's a 503 error. Any other idea where my exception comes from?
    I'm really desperate here. I've tried to ask our corporate weblogic support but they couldn't reproduce my issue. I've been fighting with this for weeks. Please help!

    Please, take a look at https://blogs.oracle.com/proactivesupportWCC/entry/clustering_and_high_availability_for (and contact the support group as advised)

  • Create and deploy jax-rpc ws on weblogic 9.2

    I am finding a solution how to build a simple jax rpc web service using weblogic 9.2 ant tasks. I cant find a task which generate war out of my implementation.
    It have to be JAX-RPC ws (not JAX-WS).
    Please help me, I have been searching for hours yet...(without success)
    Edited by julius4 at 04/07/2008 3:58 AM

    Hi Carmen,
    WLS 8.1 provides a spec compliant, full featured JAX-RPC
    implementation. Mixing the impl can cause unpredictable and unexpected
    results because they share many of the same upper layers, but under the
    covers things can be quite different.
    If you are looking for J2EE 1.4 web service features, stay tuned...we
    are working at flank speed.
    Regards,
    Bruce
    Carmen wrote:
    >
    Hi All :
    I am a beginner and I need help ...!!
    as far as I know , weblogic 8.1 is a J2EE 1.3-compliant application server ..so
    does this mean that I can't deploy Sun's jax-rpc webservice (which is a standard
    way to develop webservices in j2EE 1.4 ) on weblogic 8.1..?
    and If I can't , is there a way to configure weblogic in order to deploy Sun's
    jax-rpc webservice..?
    would you please help me to find the answers..??
    Thanks,

  • Weblogic 10.3 - Arrays and JAX-RPC Web Services

    We are currently looking at migrating from WL 8.1 to WL 10.3, and have an issue with some of our web services (JAX-RPC) with regards to returning String arrays.
    We have a web service method that returns a response object. This response object has many properties that includes a property that is a String array. So the code looks something like this (this is a simplified version):
    <em>public class OurService
    @RemoteMethod
    @WebMethod
    @WebResult(name = "result")
    public ResponseObject lookup(String someParam)
    // build the object and its properties here...
    return responseObject;
    }</em>
    This is what the response object looks like:
    <em>public class ResponseObject
    private String[] someProperty;
    public String[] getSomeProperty()
    return this.</em><em>someProperty</em><em>;
    public void setSomeProperty(String[] </em><em>someProperty</em><em>)
    this.</em><em>someProperty</em><em>= </em><em>someProperty</em><em>;
    }</em>
    So the issue is this. In WL 8.1, the web service generator would recognise the fact that the response object had a property that was a String array and would declare as such in the WSDL file, for example:
    <em><strong> &lt;xsd:element xmlns:tp="java:language_builtins.lang" type="<font color="#ff0000">tp:ArrayOfString</font>" name="someProperty" minOccurs="1" nillable="true" maxOccurs="1"&gt;
    &lt;/xsd:element&gt;
    </strong></em>
    As a result, when the service is called, the property is returned in the SOAP response like this:
    <strong>.
    </strong>
    <div class="e">
    <div class="c" style="margin-left: 1em; text-indent: -2em">
    <em><strong> <span class="m">&lt;</span><span class="t">someProperty</span><span class="t"> soapenc:arrayType</span><span class="m">="</span></strong><strong>xsd:string[2]<span class="m">"</span><span class="m">&gt;</span></strong></em>
    </div>
    <div>
    <div class="e">
    <div>
    <em><strong><span class="b"> </span><span class="m">&lt;</span><span class="t">string</span><span class="t">
    xsi:type</span><span class="m">="</span></strong><strong>xsd:string<span class="m">"</span><span class="m">&gt;</span><span class="tx">string1</span><span class="m">&lt;/</span><span class="t">string</span><span class="b">&gt;
    &lt;string xsi:type="xsd:string"&gt;string2&lt;/string&gt;
    </span><span class="m">&lt;/</span><span class="t">someProperty</span><span class="m">&gt;</span></strong></em>
    </div>
    </div>
    </div>
    </div>
    <strong>.
    </strong>
    But, in WL 10.3, the WSDL entry is:
    <em><strong> &lt;xs:element maxOccurs="unbounded" minOccurs="0" name="InstepCodes" nillable="true" type="xs:string"&gt;
    </strong></em>
    As a result the property is returned in the SOAP response like this:
    <strong> .
    </strong><strong><span class="m"> &lt;</span><span class="t">java:InstepCodes</span><span class="ns">
    xmlns:java</span><span class="m">="</span></strong><strong class="ns">java:com.myservice</strong><strong><span class="m">"</span><span class="m">&gt;</span><span class="tx">string1</span><span class="m">&lt;/</span><span class="t">java:InstepCodes</span><span class="m">&gt;</span>
    </strong><strong><span class="m"> &lt;</span><span class="t">java:InstepCodes</span><span class="ns">
    xmlns:java</span><span class="m">="</span></strong><strong class="ns">java:com.myservice</strong><strong><span class="m">"</span><span class="m">&gt;</span><span class="tx">string2</span><span class="m">&lt;/</span><span class="t">java:InstepCodes</span><span class="m">&gt;</span>
    </strong>The difference here is that WL 10.3 does not return the array of strings as a complex array type, just as a set of repeated elements.
    We need to return the array as we do for WL 8 in WL 10.3, because we have external clients that are parsing the response and looking for the XML in this format. We are not currently in a position to ask them to change.
    Is this a limitation of the JAX-RPC spec, or WL's implementation of it?
    If the service was to return a String array directly from a service method, then it is declared in the WSDL file.
    However, if a service returns an object that within itself has a property that is an array, it does not recognise it like it did with WL 8.1.
    <strong>
    </strong>
    <div class="e">
    </div>

    Thank you for the reply.
    We are using WL Server 8.1 (not Workshop), and moving to WL Server 10g R3.
    We are using the JWSC task to generate the service, which is:
    bq. weblogic.wsee.tools.anttasks.JwscTask+
    Here is an extract from the Ant build file the calls the task.
    &lt;jwsc
    srcdir="src/com/ourservice"
    sourcepath="src"
    destdir="${ear.dir}"
    verbose="false"
    debug="true"
    keepGenerated="true"
    classpathref="ws.class.path"&gt;
    +&lt;module name="${service.name}" explode="true"&gt;+
    +&lt;jws file="OurService.java" type="JAXRPC"/&gt;+
    +&lt;/module&gt;+
    +&lt;/jwsc&gt;+
    As stated in my first post, the service method returns an reponse object and its this that contains the array property. The service method itself does not return an array type. This seems to be the root of the problem, i.e. the declaration of array types is not being propagated down through the object graph the service method returns. Below is the code for the service and the response object.
    @FileGeneration(remoteClass = Constants.Bool.TRUE, remoteClassName = "OurService", localHome = Constants.Bool.TRUE, localHomeName = "OurServiceLocalHome", remoteHome = Constants.Bool.TRUE, remoteHomeName = "++OurService++Home", localClass = Constants.Bool.TRUE, localClassName = "++OurService++Local")+
    @JndiName(remote = "com.ourservice.++OurService++", local = "com.ourservice.++OurService++Local")+
    @Session(ejbName = "++OurService++", type = Session.SessionType.STATELESS, transactionType = Session.SessionTransactionType.CONTAINER, maxBeansInFreePool = "100", initialBeansInFreePool = "20", enableCallByReference = Constants.Bool.TRUE, homeIsClusterable = Constants.Bool.TRUE, homeLoadAlgorithm = Constants.HomeLoadAlgorithm.ROUND_ROBIN, isClusterable = Constants.Bool.TRUE, beanLoadAlgorithm = "RoundRobin", defaultTransaction = Constants.TransactionAttribute.SUPPORTS)+
    +@RoleMappings( { @RoleMapping(roleName = "Admin", externallyDefined = Constants.Bool.TRUE),+
    +@RoleMapping(roleName = "Monitor", externallyDefined = Constants.Bool.TRUE),+
    +@RoleMapping(roleName = "JMS", externallyDefined = Constants.Bool.TRUE) })+
    @WebService(name = "OurServicePort", serviceName = "OurService", targetNamespace = "http://www.ourservice.com/SOA/OurService+_service")+
    +@SOAPBinding(style = SOAPBinding.Style.RPC, use = SOAPBinding.Use.LITERAL)+
    @WLHttpTransport(contextPath = "OurService", serviceUri = "OurService", portName = "
    *OurService+Port")+
    public class OurService
    +{+
    @RemoteMethod
    @WebMethod
    @WebResult(name = "result")
    {color:#ff0000}public ResponseObject lookup(String someParam){color}
    // build the response object...
    return {color:#ff0000}responseObject{color};
    +}+
    This is what the response object looks like:
    public class ResponseObject
    +{+
    private String[] someProperty;
    +public {color:#ff0000}String[] getSomeProperty(){color}+
    +{+
    return this.someProperty;
    +}+
    public void setSomeProperty(String[] someProperty)
    +{+
    this.someProperty = someProperty;
    +}+
    +}+
    From all of this I cant tell how we get the WSDL file to delcare it as an array type, as shown in the JAX-RPC 1.1 spec you mentioned, based on the code we have and the JWSC build task we are using.
    (I appologise for the formatting of this message. It seems to want to insert + everywhere in the code examples, despite me removing them!)
    Edited by: user8013492 on 11-Dec-2008 02:09
    Edited by: user8013492 on 11-Dec-2008 02:11

  • JAX-RPC whitepaper available on dev2dev

    The Java API for XML-based remote procedure calls (JAX-RPC) simplifies
    the process of building Web services that incorporate XML-based RPC.
    Rajesh Sumra looks at how developers can use JAX-RPC to implement and
    call SOAP-based Web services described by the Web Services Description
    Language (WSDL) on the BEA WebLogic Platform.
    http://dev2dev.bea.com/articles/Sumra.jsp

    et al
    http://dev2dev.bea.com/technologies/webservices/index.jsp
    Bruce Stephens wrote:
    >
    The Java API for XML-based remote procedure calls (JAX-RPC) simplifies
    the process of building Web services that incorporate XML-based RPC.
    Rajesh Sumra looks at how developers can use JAX-RPC to implement and
    call SOAP-based Web services described by the Web Services Description
    Language (WSDL) on the BEA WebLogic Platform.
    http://dev2dev.bea.com/articles/Sumra.jsp

  • Using JAX-RPC handlers to proxy web service traffic

    Hi,
    I want to use JAX-RPC handlers to proxy web service traffic. In some instances the handler should modifiy / verify the message before forwarding the request to the remote web service end-point. Hence, the handler should forward the call by invoking the remote web service. In some cases the result from invoking the remove service should be post-processed by another proxy handler. To ensure that the result from invoking the remote service is available for post-processing I assume that the handler invoking the remote service must add the response message to the message context ( e g setProperty method) in the handler. Is this correctly understood?
    I would like to understand that this is a technically feasible and reasonable approach of using JAX-RPC. I'd really appreciate some feedback here.
    Many thanks,
    Tom

    Hi Eric,
    Thanks for your response. we are trying to access WSRR( manages end point urls for 7 different environments) and generate the end point dynamically at the design time. As we figured out WSRR is not compatible with OSB we are trying to implement these client side (OSB Proxy service) handlers which would get the dynamic endpoint depending on the environment used. I was able to create the handlers for this and set the jar in the classpath but the client service which should be using these handlers have to have these handlers defined in the deployment descriptor(web.xml) which am unable to see with a OSB project.
    Will there be a deployment descriptor(web.xml/webservices.xml) associated with Proxy services on OSB? Or Is there any other way to add custom JAX-RPC Handlers to a proxy service? Or is there any way to connect to WSRR directly?
    Thanks,
    Swetha

  • 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-RPC - dynamic wsdl - non-built-in data types

    I thought my recent exp with developing a JAX-RPC client using a dynamic wsdl to communicate to a non-weblogic Web Service might help somebody out there. :-)
    JAX-RPC Mechanism in Weblogic for dynamic_wsdl seems to work only with built-in data types. Weblogic also supports non-built-in data types, but you need to do some extra work! For the user-defined objects, you need to generate their types and register them.
    Note: The samples given in Weblogic 8.1 do not use non-built-in data types!
    Make sure you use the ant task "autotype" in your build.xml to generate the appropriate types (objects to support java-xml and xml-java converstion), types.xml from the wsdl. Register the types.xml file in your calling client code.
    If you do not use register the types for the user-defined classes used in the web services method signatures, then you are likely to get the foll. exception.
    javax.xml.soap.SOAPException: failed to serialize interface javax.xml.soap.SOAPElementw
    eblogic.xml.schema.binding.SerializationException: mapping lookup failure. class=interface javax.xml
    .soap.SOAPElement class context=TypedClassContext{schemaType=['http://svcVodafonePooled.wsdlgen.jipi
    lot.vodafone.com']:getStock}
    C:\Tutorial\WS\dynamic_wsdl>ant run
    Buildfile: build.xml
    run:
    [java] Creating the service...
    [java] Creating the call...
    [java] invoking the call....
    [java] javax.xml.rpc.JAXRPCException: failed to invoke operation 'getStock' due to an error in
    the soap layer (SAAJ); nested exception is: Message[ failed to serialize interface javax.xml.soap.SO
    APElementweblogic.xml.schema.binding.SerializationException: mapping lookup failure. class=interface
    javax.xml.soap.SOAPElement class context=TypedClassContext{schemaType=['http://svcVodafonePooled.ws
    dlgen.jipilot.vodafone.com']:getStock}]StackTrace[
    [java] javax.xml.soap.SOAPException: failed to serialize interface javax.xml.soap.SOAPElementw
    eblogic.xml.schema.binding.SerializationException: mapping lookup failure. class=interface javax.xml
    .soap.SOAPElement class context=TypedClassContext{schemaType=['http://svcVodafonePooled.wsdlgen.jipi
    lot.vodafone.com']:getStock}
    [java] at weblogic.webservice.core.DefaultPart.invokeSerializer(DefaultPart.java:328)
    [java] at weblogic.webservice.core.DefaultPart.toXML(DefaultPart.java:297)
    [java] at weblogic.webservice.core.DefaultMessage.toXML(DefaultMessage.java:645)
    [java] at weblogic.webservice.core.ClientDispatcher.send(ClientDispatcher.java:206)
    [java] at weblogic.webservice.core.ClientDispatcher.dispatch(ClientDispatcher.java:143)
    [java] at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:457)
    [java] at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:443)
    [java] at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:558)
    [java] at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:411)
    [java] at Main.main(Main.java:61)
    [java] Caused by: weblogic.xml.schema.binding.SerializationException: mapping lookup failure. c
    lass=interface javax.xml.soap.SOAPElement class context=TypedClassContext{schemaType=['http://svcVod
    afonePooled.wsdlgen.jipilot.vodafone.com']:getStock}
    [java] at weblogic.xml.schema.binding.RuntimeUtils.lookup_serializer(RuntimeUtils.java:151)
    [java] at weblogic.xml.schema.binding.RuntimeUtils.invoke_serializer(RuntimeUtils.java:187)
    [java] at weblogic.xml.schema.binding.RuntimeUtils.invoke_serializer(RuntimeUtils.java:174)
    [java] at weblogic.webservice.core.DefaultPart.invokeSerializer(DefaultPart.java:324)
    [java] ... 9 more
    [java] ]
    [java] at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:578)
    [java] at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:411)
    [java] at Main.main(Main.java:61)
    [java] Exception in thread "main"
    [java] Java Result: 1

    The foll. code worked fine for me in Weblogic 8.1 SP3, on Windows 2000.
    Note: the 2 important lines of code:
    TypeMappingRegistry registry service.getTypeMappingRegistry();
    registry.registerDefault(new DefaultTypeMapping("types.xml"));
    package auth;
    import java.net.URL;
    import javax.xml.rpc.ServiceFactory;
    import javax.xml.rpc.Service;
    import javax.xml.rpc.Call;
    import javax.xml.rpc.ParameterMode;
    import javax.xml.namespace.QName;
    import javax.xml.rpc.encoding.TypeMapping;
    import javax.xml.rpc.encoding.TypeMappingRegistry;
    import weblogic.webservice.core.encoding.stream.SOAPElementCodec;
    import javax.xml.rpc.encoding.*;
    import weblogic.webservice.encoding.DefaultTypeMapping;
    public class DClient1 {
    static private void print(String msg) {
         System.out.println("DClient1: " + msg);
    public static void main(String[] argv) throws Exception {
    System.setProperty("javax.xml.soap.MessageFactory", "weblogic.webservice.core.soap.MessageFactoryImpl");
    System.setProperty( "javax.xml.rpc.ServiceFactory", "weblogic.webservice.core.rpc.ServiceFactoryImpl");
    ServiceFactory factory = ServiceFactory.newInstance();
    String targetNamespace = "http://www.vishwa.com/amazingworld";
    QName serviceName = new QName(targetNamespace, "GeminiPasswordService");
    QName portName = new QName(targetNamespace, "GeminiPasswordServicePort");
    QName operationName = new QName("", "checkPassword");
    URL wsdlLocation = new URL("http://localhost:7001/GeminiPasswordService/GeminiPasswordService?WSDL");
         print("Creating the service...");
    Service service = factory.createService(wsdlLocation, serviceName);
         print("Creating the call...");
    Call call = service.createCall(portName, operationName);
         TypeMappingRegistry registry = service.getTypeMappingRegistry();
         registry.registerDefault(new DefaultTypeMapping("types.xml"));
         print("invoking the call....");
    Object[] inParams = new Object[2];
    inParams[0] = "clark1";
    inParams[1] = "kent1";
    Object result = call.invoke(inParams);
    print("Client return value: = " + result.toString());
    QName operationName1 = new QName("", "getBook");
    print("Creating the call...");
    Call call1 = service.createCall(portName, operationName1);
    print("invoking the call....");
    Name n = new Name();
         n.setFirstname("Walker");
         n.setAge(50);
         Object[] inParams1 = new Object[1];
         inParams1[0] = n;
    Book b = (Book) call1.invoke(inParams1);
    print("author: " + b.getAuthor());
    print("money: " + b.getMoney());
    }

Maybe you are looking for