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

Similar Messages

  • HTTP Session caching possible using WL7 JAX-RPC ?

    We're using WL7, and using the JAX-RPC API to access external webservices.
    Basically, we create the appropriate 'stubs' from the target WSDL using
    clientgen. Then we invoke the target method. Code looks something like this:
    Client_Impl client = new Client_Impl; // implementation of target
    ClientPort_Stub stub = client.getClientPort();
    stub._setProperty(javax.xml.rpc.Stub.ENDPOINT_ADDRESS_PROPERTY, url)
    stub.invoke(args);
    Now, when is the actual endpoint URL being created ? Is it when the invoke()
    method is called ?
    It cannot be during the constructor since I pass the target URL after that ...
    My problem is that I have to call the 'invoke' method quite frequently, and hence
    would like the HTTP session to be reused, rather than recreated each time. Right
    now,
    I construct the stub each time I have to call the target method, and I'm wondering
    if
    I just cache the stub and keep calling the target method each time, will the underlying
    HTTP session be reused ? Any ideas ?
    Currently, if I do netstat on my Sun Solaris box (where this runs), I see the
    TCP
    connection being recreated during each invocation ...
    -john

    Hi John,
    You can do multiple invokes on the same stub. There is no
    need to create a new one for each invoke.
    WLS 7.0 use HTTP 1.0 with keep alive. If the server respects
    HTTP keep alive, then WLS will not create a new connection.
    HTHs,
    -manoj
    "john" <[email protected]> wrote in message news:[email protected]..
    >
    We're using WL7, and using the JAX-RPC API to access external webservices.
    Basically, we create the appropriate 'stubs' from the target WSDL using
    clientgen. Then we invoke the target method. Code looks something likethis:
    >
    Client_Impl client = new Client_Impl; // implementation of target
    ClientPort_Stub stub = client.getClientPort();
    stub._setProperty(javax.xml.rpc.Stub.ENDPOINT_ADDRESS_PROPERTY, url)
    stub.invoke(args);
    Now, when is the actual endpoint URL being created ? Is it when theinvoke()
    method is called ?
    It cannot be during the constructor since I pass the target URL after that...
    My problem is that I have to call the 'invoke' method quite frequently,and hence
    would like the HTTP session to be reused, rather than recreated each time.Right
    now,
    I construct the stub each time I have to call the target method, and I'mwondering
    if
    I just cache the stub and keep calling the target method each time, willthe underlying
    HTTP session be reused ? Any ideas ?
    Currently, if I do netstat on my Sun Solaris box (where this runs), I seethe
    TCP
    connection being recreated during each invocation ...
    -john

  • How can I set Response Queue for standalone client using JMS Jax-RPC ?

    Hi,
    I am developing a standalone client for a web service running on a Weblogic 10.3 server using JMS transport. The response seems to be placed in JMSServer!JMSServer.TemporaryQueue0 when I try to test the application.
    The request xml created:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <content>
        <entry type="1">
            <textMessage fromQueue="true" JMSTimestamp="1285343150328" JMSReplyToDomain="1" JMSReplyTo="JMSServer!JMSServer.TemporaryQueue1" JMSRedelivered="false" JMSPriority="4" JMSMessageID="ID:&lt;520181.1285343150328.0&gt;" JMSExpiration="0" JMSDestination="SystemModule!demoQueue" JMSDeliveryMode="2">
                <headerProperty type="java.lang.String" value="text/xml; charset=utf-8" name="_wls_mimehdrContent_Type"/>
                <headerProperty type="java.lang.String" value="&quot;http://oracle/communications/platform/demo/webservices/rpc/secure/gen/getPhoneList&quot;" name="_wls_mimehdrSOAPAction"/>
                <headerProperty type="java.lang.String" value="/DemoWebServices/DemoWebServicesJMS" name="URI"/>
                <text>&lt;env:Envelope xmlns:env=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;&lt;env:Header/&gt;&lt;env:Body&gt;&lt;gen:lastName xmlns:gen=&quot;http://oracle/communications/platform/demo/webservices/rpc/gen&quot;&gt;8&lt;/gen:lastName&gt;&lt;/env:Body&gt;&lt;/env:Envelope&gt;</text>
            </textMessage>
        </entry>
    </content>On the application server I have configured a Response Queue that I would like my application to use. The client stubs where generated using the ant Task: weblogic.wsee.tools.anttasks.ClientGenTask.
    Standalone client code snippet:
          DemoWebServices_Impl service = null;
          try {
              service = new DemoWebServices_Impl(wsdl);
          } catch (ServiceException e) {
              e.printStackTrace();
          DemoWebServicesPortType port = null;
          //create credential provider and set it to the Stub
          try {
              port = service.getDemoWebServicesJMSPort();
          } catch (ServiceException e) {
            e.printStackTrace();
          PhoneList response = null;
          try {
              response = port.getPhoneList("8");
          } catch (RemoteException e) {
              e.printStackTrace();
          if(response != null) {
            for(Phone aPhone : response.getPhone()) {
                System.out.println("aReturned Phone number is:  " + aPhone.getPhoneNumber());
          }Would you please help me with modifying the client code to define which Queue the web service response should be placed in? setQueue() of the JMSTransportInfo class did not do the trick. Please help....
    Thanks,
    Sajitha
    Edited by: Sajitha on Sep 24, 2010 12:29 PM
    Edited by: Sajitha on Sep 27, 2010 8:44 AM

    Hi,
    I am developing a standalone client for a web service running on a Weblogic 10.3 server using JMS transport. The response seems to be placed in JMSServer!JMSServer.TemporaryQueue0 when I try to test the application.
    The request xml created:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <content>
        <entry type="1">
            <textMessage fromQueue="true" JMSTimestamp="1285343150328" JMSReplyToDomain="1" JMSReplyTo="JMSServer!JMSServer.TemporaryQueue1" JMSRedelivered="false" JMSPriority="4" JMSMessageID="ID:&lt;520181.1285343150328.0&gt;" JMSExpiration="0" JMSDestination="SystemModule!demoQueue" JMSDeliveryMode="2">
                <headerProperty type="java.lang.String" value="text/xml; charset=utf-8" name="_wls_mimehdrContent_Type"/>
                <headerProperty type="java.lang.String" value="&quot;http://oracle/communications/platform/demo/webservices/rpc/secure/gen/getPhoneList&quot;" name="_wls_mimehdrSOAPAction"/>
                <headerProperty type="java.lang.String" value="/DemoWebServices/DemoWebServicesJMS" name="URI"/>
                <text>&lt;env:Envelope xmlns:env=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;&lt;env:Header/&gt;&lt;env:Body&gt;&lt;gen:lastName xmlns:gen=&quot;http://oracle/communications/platform/demo/webservices/rpc/gen&quot;&gt;8&lt;/gen:lastName&gt;&lt;/env:Body&gt;&lt;/env:Envelope&gt;</text>
            </textMessage>
        </entry>
    </content>On the application server I have configured a Response Queue that I would like my application to use. The client stubs where generated using the ant Task: weblogic.wsee.tools.anttasks.ClientGenTask.
    Standalone client code snippet:
          DemoWebServices_Impl service = null;
          try {
              service = new DemoWebServices_Impl(wsdl);
          } catch (ServiceException e) {
              e.printStackTrace();
          DemoWebServicesPortType port = null;
          //create credential provider and set it to the Stub
          try {
              port = service.getDemoWebServicesJMSPort();
          } catch (ServiceException e) {
            e.printStackTrace();
          PhoneList response = null;
          try {
              response = port.getPhoneList("8");
          } catch (RemoteException e) {
              e.printStackTrace();
          if(response != null) {
            for(Phone aPhone : response.getPhone()) {
                System.out.println("aReturned Phone number is:  " + aPhone.getPhoneNumber());
          }Would you please help me with modifying the client code to define which Queue the web service response should be placed in? setQueue() of the JMSTransportInfo class did not do the trick. Please help....
    Thanks,
    Sajitha
    Edited by: Sajitha on Sep 24, 2010 12:29 PM
    Edited by: Sajitha on Sep 27, 2010 8:44 AM

  • Jax-RPC Client side: How to use multiple X509 client certs ?

    hi, (excuse me for my english)
    i'm looking for an answer to this question:
    I'm using the JAX-RPC libraries (JWSDP 2.0) for a web services client application in my app server (tomcat 4 under 1.4 Sun JVM) with HTTPS connection. All works fine when i'm using system.Setproperties for keystore and trustore.
    Buk now, I want to use different client SSL keys for the same app to consume the web service (one SSL client key for a group of users).
    Is it possible ?
    i've tried using custom SSLSocketFactory and custom KeyManager but it won't works: when the SSL connection is well established once, i can connect to the app with an invalide client cert ! (it seems SSL connection is in cache and i dont't know how to disable this cache).
    I have read some threads on this problem without answers ! (http://forum.java.sun.com/thread.jspa?forumID=331&threadID=333010 and http://forum.java.sun.com/thread.jspa?forumID=331&threadID=600372)
    Thanks
    Edited by: Buck007 on May 26, 2008 9:14 AM

    I have the same problem. If you find the solution please post it here :)
    thanks

  • Problems with types using JAX-RPC

    Hi,
    I have to convert an RMI application into a JAX-RPC application. I thought it was easy but I have some problems with the parameter types and the return types of the remote methods.
    For example, how can I pass a java Object as a parameter or as a return type, supposing this object could be anything during runtime? Is there any way to do it because the only types one could use with JAX-RPC are not enough for my application.
    Regards,
    Vincent

    Thanks, that was my mistake.
    Instead of using wscompile, you must generate the stub classes with the WTK. Then, you set a reference to the j2me-ws.jar (JSR-172). No additional libraries from the Web Service Development Kit are required.

  • Getting SOAPExceptionImpl while invoking JAX-RPC Service

    Hi,
    I am using Static Stub to invoke a service . Both the Client and and Service are deployed on same Tomcat. Service is quite simple that display the Greeting message but when I am calling a service it throws the following exception..
    java.rmi.RemoteException : HTTP Transport Error: com.sun.xml.messaging.saaj.SOAPExceptionImpl;
    Invalid Content-Type "text/html"
    Any idea how to fix this issue ?
    Thanks
    Abdul

    I used tha JAX-RPC runtime jars that come with JSWDP and was able to sucessfully run the client on JDK1.3 environment. Is there a solution for JDK1.2 client?

  • Jax-rpc 2 D arrays

    i need a web service to return a 2-d array of string objects,
    i tried to implement it.. but it gave me the following error:
    deserialization error: unexpected array element type: expected={http://www.w3.org/2001/XMLSchema}string;, actual={http://www.w3.org/2001/XMLSchema}string
    ---clipped--
    i read somewhere that we need to register a serializer in type mappping registry..
    can someone tell me how?
    pls.... its urgent

    See:
    http://forum.java.sun.com/thread.jspa?threadID=578954&tstart=0and
    http://forum.java.sun.com/thread.jspa?threadID=578646&tstart=0It seems tha Jax-rpc is not capable of processing 'complex' data types like records and classes... :-( This should realy be a bad thing!!!

  • How to pass SOAP Attachments with JAX-RPC Web Service

    I'm confused...
    This sample shows how to send/receive SOAP attachments by using the JAX-RPC Handler mechanism. Can somebody confirm if this is the preferred way to do this. I've seen an example wich does something like:
      public interface AttachmentService extends Remote {
        public String storeDocumentService(javax.activation.DataHandler dh, String filename) throws RemoteException;
      }and then uses JAX-RPC utilities to create wsdl, stubs and stuff. Does this have the same result, as what the OTN example shows (from an architecture perspective?
    Thx,
    Jan.

    Well, how an attachment is processed depends on your application logic...if your application logic requires to processing attachments and verify it before processing the SOAP message, handlers could be better option.
    If you need to process the attachment while processing the SOAP message, you can do it in the service implementation class.
    In both the cases you need to get access to SOAPMessage object and from there get the attachments with getAttachments method.

  • Jax-rpc and https and multiple keystores - a limitation?

    hi,
    When using the JAX-RPC libraries for a web services client application in my app server I want to make use of a different keystore then the one set by using the default system properties.
    reason being I have multiple ssl enabled apps runing in the app server and I want to use different client keys in the apps (I use client certificate authentication)
    from what I see now I expect this to be not possible - since creating the http(s) connection is completely hidden from a development point of view.
    any ideas on the possibilities/impossibilities?
    regards Joost ([email protected])

    Can you not use command line switches to specify the truststore, e.g.
    -Djavax.net.ssl.trustStorePassword=changeit -Djavax.net.ssl.trustStore=truststore_1-4

  • Question related to the  JAX-RPC.

    Hi ,
    I have a question related to the JAX-RPC API.
    Please clear me following points whether I am right or not?
    1. If my two end points are in Java then and only we use the JAX-RPC API. Is it right?
    2. If my two end points are in .Net then we use the some other API in .NET. Is it right?
    Please give me links or associate info. regarding this.
    Thanks,
    Rahul

    With JAX-RPC API, you are writing or consuming web services. If you are building web services, then that web service should be interoperable to .NET as well as Java. You do not have to use JAX-RPC, because, JAX-WS can serve the same purpose but is much easier to program. More about web services may be found at [http://soalib.com|http://soalib.com]

  • Invoking JAX-RPC service deployed in SunONE7.0 by jdk1.2/1.3 client

    Hi,
    Is it possible to invoke a JAX-RPC service deployed in SunONE7.0 by jdk1.2/1.3 client?. If possible what jars should the client have in order to do this?.
    warm regards,
    Vijay

    I used tha JAX-RPC runtime jars that come with JSWDP and was able to sucessfully run the client on JDK1.3 environment. Is there a solution for JDK1.2 client?

  • 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

  • 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.

Maybe you are looking for

  • IPhoto sort order changes on iPad/iPhone when photos are edited

    I have been having issues getting photos to display in the correct order on my iPad, iPhone and Apple TV. When I go into an event I want the first photo taken to be at the top and the last at the bottom. I sort by date so that photos taken on differe

  • Ipod connection to older cars

    I have an iphone, approx. 11 month old, and would like to use the ipod feature in my LEXUS 2006 model, which has no connection to an ipod. I tried about 6-8 month ago a gismo COSCO sold, went to Radio Shack to help install it, no luck, terrible inter

  • Mountain Lion isn't letting me use the App Store, Can someone help me?

    I thought that mountain lion will be a very useful software upgrade. After I downloaded Mountain Lion, I can't connect to the App Store and I can't turn dictation on. Can someone please help me?

  • Unable to set default table attributes in Keynote

    I've been trying to change the default table attributes in one of my themes, and as per the description in the Keynote manual (page 237-8), this should be a straightforward process: 1) In the slide navigator, create a new slide. 2) If you're setting

  • PLANTAGE permanent de photoshop CS 5

    Bonjour, quoi que je fasse dans photoshop, il plante avec le message d'erreur suivant : Quelqu'un a déjà eu ce problème? Avez-vous réussi à le resoudre? Process:     Adobe Photoshop CS5 [731] Path:        /Applications/Adobe Photoshop CS5/Adobe Photo