RPC Web Service

I have to expose a remote function call as a web service.
It has to be exposed via an RPC-style WSDL.
It seems as though the default WSDL generated is of
the document style.
Is it possible to change the WSDL that is generated to
RPC style?

I see that there are 2 options to generate the WSDL, one of
which is the RPC style.

Similar Messages

  • Problem invoking RPC web service (Unbalanced ELEMENT)

    Hi folks!
    I am trying to create an RPC web service for an existing (and working) EJB using
    WebLogic 6.1 SP2, but I keep getting the following error message each time I invoke
    any of the available methods from the stateless session bean using a (static)
    test client:
    Exception in thread "main" java.lang.reflect.UndeclaredThrowableException: Error
    at Line:12, token:[SPACE]     (
    )Unbalanced ELEMENT got:head expected:meta
         at weblogic.xml.babel.baseparser.SAXElementFactory.createSAXParseException(SAXElementFactory.java:67)
         at weblogic.xml.babel.parsers.StreamParser.streamParseSome(StreamParser.java:136)
         at weblogic.xml.babel.parsers.BabelXMLEventStream.parseSome(BabelXMLEventStream.java:46)
         at weblogicx.xml.stream.XMLEventStreamBase.hasNext(XMLEventStreamBase.java:135)
         at weblogicx.xml.stream.XMLEventStreamBase.hasStartElement(XMLEventStreamBase.java:241)
         at weblogicx.xml.stream.XMLEventStreamBase.hasStartElement(XMLEventStreamBase.java:171)
         at weblogicx.xml.stream.XMLEventStreamBase.startElement(XMLEventStreamBase.java:164)
         at weblogic.soap.codec.SoapMessage.read(SoapMessage.java:86)
         at weblogic.soap.WebServiceProxy.receive(WebServiceProxy.java:480)
         at weblogic.soap.WebServiceProxy.invoke(WebServiceProxy.java:431)
         at weblogic.soap.SoapMethod.invoke(SoapMethod.java:186)
         at weblogic.soap.wsdl.WebServiceInvocationHandler.invoke(WebServiceInvocationHandler.java:27)
         at $Proxy0.testmethod(Unknown Source)
         at Client.main(Client.java:58)
    Does anybody have an idea what might be causing this problem? A search in the
    newsgroup archive suggests that this problem might be related to the WSDL interface
    file, although it is not clear to me how I can change that .wsdl file directly
    as I am using the wsdl.jsp file created using the Remote2WSDL function. Any help
    would be greatly appreciated!
    regards,
    Ekim

    Sorry, have no solution for you, but I can agree we with your observations, that only document literal style services work in a predictable fashion. (In 10.1.3.1.0)
    Message was edited by:
    taylor_tails

  • 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

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

    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

  • RPC web service session beans and local interfaces

    I am wondering if it is possible to use EJB 2.0's local
    interface (vs remote interface) with 6.1's RPC web service
    session beans. Since WLS generates the SOAP servlet that
    invokes the RPC session bean and I do not find
    a way to some how tell SOAP servlet to use local interface to
    get the session bean's local home interface, I am not sure
    this can be done.
    Any comments would be appreciated.
    Thanks.
    Peter

    Ta. Thanks for the info.
    Any idea when Local I/F support is due?
    -Nick
    "Neal Yin" <[email protected]> wrote:
    >
    "Nick Minutello" <[email protected]>
    wrote
    in message news:3d4413a4$[email protected]..
    I was just about to post the very same question - but for WLS 7.0.0.1.
    There are essentially two questions:
    1) (from a functional perspective)
    Can I expose Local Interfaces as SOAP using the auto-generation(servicegen ant
    tasks)?Local Interfaces support is coming.
    2) (from a performance perspective)
    Does the generated SOAP implementation go via the (expensive) RemoteInterface
    (ie marshalling) - or is the RMI marshalling optimised out (by setting<enable-call-by-reference>true</>)?
    You can set this option by yourself on your EJB. Web service runtime
    doesn't
    do any magic in this area.
    Regards,
    Nick
    "Peter" <[email protected]> wrote:
    I am wondering if it is possible to use EJB 2.0's local
    interface (vs remote interface) with 6.1's RPC web service
    session beans. Since WLS generates the SOAP servlet that
    invokes the RPC session bean and I do not find
    a way to some how tell SOAP servlet to use local interface to
    get the session bean's local home interface, I am not sure
    this can be done.
    Any comments would be appreciated.
    Thanks.
    Peter

  • 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

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

  • Can we include a JAXM servlet in JAX-RPC web service????????

    Can we include a JAXM servlet in JAX-RPC web service?
    If yes then how?
    If not then why?

    Hi,
    I found a link to getting handle to Request and response object here: http://edocs.bea.com/wls/docs103/webserv_rpc/jws.html#wp275820
    Thanks!

  • JSON+XML RPC Web service

    Hi,
    i want to consume JSON/XML  RPC webservice from Strobe media playback.
    How i would achieve this.

    A google search of XML-RPC turned up this:
    http://mxblogspace.journurl.com/users/admin/?mode=article&entry=763
    and this:
    http://www.activsoftware.com/resources/support/messages.cfm/id/5484
    I don't think you will be able to invoke an XML-RPC web
    service using the standard <cfinvoke webservice="..."> due to
    the fact that the URL for an XML-RPC webservice is not a WSDL file,
    which is what coldfusion is expecting.

  • How to generate JAX-RPC web services instead of JAX-WS webservices withOEPE

    How to generate JAX-RPC web services instead of JAX-WS webservices withOEPE? I am asking this because I need to pass xmlbeans generated objects as arguments in the web method. For JAX-WS there has to be a no argument constructor for it to be able to pass in theweb method. The workshop 10.3 was able to pass the xmlbeans generated object as the web service was implemented as a JAX-RPC web service....

    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??

  • [Weblogic 6.1] RPC Web Service Question

    Hello,
    I use Weblogic 6.1 sp5 and wanna do RPC Web Services to other platforms.
    I compiled a jar file(PAAPAppraisal.jar) into the RPC Web Service by "wsgen"
    and tested the RPC Web Service using a client program which is like below:
    Properties h = new Properties();
    h.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.soap.http.SoapInitialContextFactory");
    h.put("weblogic.soap.wsdl.interface", PAAPMasterS.class.getName() );
    h.put("weblogic.soap.verbose", "true" );
    Context context = new InitialContext(h);
    PAAPMasterS service = (PAAPMasterS)context.lookup(url+"/PAAPAppraisal_web/PAAPMasterS/PAAPMasterS.wsdl");
    String empNo = "0404016";
    PageBean pb = new PageBean();
    pb.set("empNo", empNo);
    System.out.println("result : " + (String)(service.getEmailAddr(pb)));
    After excuting the client, an email string following "result :" cannot be seen on the shell.
    So I examined the server side, finding that the value of "empNo" didn't insert into PageBean Object in the server side.
    The PageBean class is something like this:
    public class PageBean implements java.io.Serializable
    The name of class is "PageBean", but it isn't a Java Bean. It's just a Java class.
    in the wsdl.jsp, The type of PageBean was defined below:
    <complexType name="PageBean">
    <sequence>
    <element name="allKeys" nillable="true" type="util:Vector"/>
    <element name="allElements" nillable="true" type="util:Vector"/>
    <element name="allKey" nillable="true" type="util:Vector"/>
    <element name="allValue" nillable="true" type="util:Vector"/>
    </sequence>
    </complexType>
    It's doubtful about the type definition of PageBean.
    The PageBean class has no allKeys property. It just has a getAllKeys() function.
    I want to use a PageBean like an Object type(that is, anyType), but wsgen compiles it into
    a complexType making elements like an allKeys.
    How can I use PageBean class as a parameter in the RPC Web Service?
    Thanks and regards.

    Hello,
    I use Weblogic 6.1 sp5 and wanna do RPC Web Services to other platforms.
    I compiled a jar file(PAAPAppraisal.jar) into the RPC Web Service by "wsgen"
    and tested the RPC Web Service using a client program which is like below:
    Properties h = new Properties();
    h.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.soap.http.SoapInitialContextFactory");
    h.put("weblogic.soap.wsdl.interface", PAAPMasterS.class.getName() );
    h.put("weblogic.soap.verbose", "true" );
    Context context = new InitialContext(h);
    PAAPMasterS service = (PAAPMasterS)context.lookup(url+"/PAAPAppraisal_web/PAAPMasterS/PAAPMasterS.wsdl");
    String empNo = "0404016";
    PageBean pb = new PageBean();
    pb.set("empNo", empNo);
    System.out.println("result : " + (String)(service.getEmailAddr(pb)));
    After excuting the client, an email string following "result :" cannot be seen on the shell.
    So I examined the server side, finding that the value of "empNo" didn't insert into PageBean Object in the server side.
    The PageBean class is something like this:
    public class PageBean implements java.io.Serializable
    The name of class is "PageBean", but it isn't a Java Bean. It's just a Java class.
    in the wsdl.jsp, The type of PageBean was defined below:
    <complexType name="PageBean">
    <sequence>
    <element name="allKeys" nillable="true" type="util:Vector"/>
    <element name="allElements" nillable="true" type="util:Vector"/>
    <element name="allKey" nillable="true" type="util:Vector"/>
    <element name="allValue" nillable="true" type="util:Vector"/>
    </sequence>
    </complexType>
    It's doubtful about the type definition of PageBean.
    The PageBean class has no allKeys property. It just has a getAllKeys() function.
    I want to use a PageBean like an Object type(that is, anyType), but wsgen compiles it into
    a complexType making elements like an allKeys.
    How can I use PageBean class as a parameter in the RPC Web Service?
    Thanks and regards.

  • OC4j and JAX-RPC Web service.

    Hello every one,
    this is actually coming from :
    OC4j 9.0.3 CMP/CMR and MVCSoft.
    Is it possible to develope JAX-RPC webservice using sun jdk with OC4J ?
    How can I do it ?
    Thanks.
    Giuseppe.

    Hi,
    I should have said that:
    I'm stuck with 9.0.3 as the 10.0.3 is a preview
    and the final release is not available until
    next summer.
    I guess 10.0.3 should be better as it is compliant with J2EE 1.4 which should include JAXRPC support.
    The problem with 9.0.3 is that being compliant with J2EE 1.3 it does not directly support JAX-RPC.
    So I was wondering How to develop Jax-RPC web service using OC4J 9.0.3.
    Sorry for to having specified the version.
    Thanks.
    Giuseppe.

  • How to use user-defined packages in JAX-RPC web service

    I am trying to use Object of my class located in my package in jax-rpc webservice,the code is
    package supercomputer;
    import Hello.*;
    public class SuperImpl implements SuperIF
    public String sendParam(String data)
    Temp ob=new Temp();
    int i=ob.get1(10000);
    return data+"returned by supercomputer";
    Temp is located in Hello package,I have jar the Hello package as Hello.jar and has set its classpath in targets.xml of Ant tool.
    The code compiles well and service is deployed successfully,but when i try to call the service from the client its gives me following error.
    [echo] Running the supercomputer.SuperClient program....
    [java] java.rmi.ServerException: Missing port information
    [java] at com.sun.xml.rpc.client.StreamingSender._raiseFault(StreamingSender.java:357)
    [java] at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:228)
    [java] at supercomputer.SuperIF_Stub.sendParam(SuperIF_Stub.java:60)
    [java] at supercomputer.SuperClient.main(Unknown Source)
    I dont know if it deploys why it gives error on client side.
    Please tell how to use user-defined packages and class in jax-rpc service code ,i am not talking about passing user-defined parameters i am just talking about making objects of user defined classes in jax-rpc service.I think there is some problem in classpath.
    Please guide me in doing that.
    Thanks,
    Farrukh

    Farrukh,
    I don't know if your error is about a missing class from your custom package, ... what track did you followed to say that?
    To use your package in the implementation of you web service, you should only follow the rules of making a web application: put your package jar in your \lib directory inside WEB-INF/ or your package classes unjared in classes (also in WEB-INF/).
    As I already said, I have doubts that your error should be originated from a missing class from your package, but:
    -try to see the logs (errors?) when you deploy your web service that could give a hint about the problem.
    -try to see if you can access your endpoint through your browser to see if there is a online status
    -display your config/WSDL file, and the steps you did to build your web service.
    regards,
    Pedro Salazar.

  • JAX-RPC: Web service where both server /and/ client are services?

    I'm considering a two-way Web service in an application that I'm designing and would appreciate any insight from prior experience.
    This will be a standard client-server application, where the server broadcasts messages and the client, in turn, can request further information about the messages that it receives (think RSS-style updates, but with more interaction). [strong]However[strong], instead of having the client poll the server for new messages, I'd like to have the client register itself with the server as a message listener. The server is currently implemented as a Web service on port X. I'd like the client to register itself with the server, and then receive messages on port Y.
    I'm considering a design like the following (note the directions of the inheritance arrows):
    ( Server class )  --<-- ( RemoteServerImpl class ) -->-- / RemoteServer interface /
           |
    ( Listener class ) --<-- ( RemoteListenerImpl class ) -->-- / RemoteListener interface /Some considerations:
    * In both cases, the client and server are broken out into an interface and two classes. The non-Remote classes implement all of the functionality. The RemoteX interfaces declare the methods that will be exposed via RPC, and the RemoteXImpl classes are empty subclasses of the non-Remote classes.
    * In order to register itself with the Server, the Listener must be passed in as a method parameter, and thus conform to the JAX-RPC specification for value types. However, value types can't implement java.rmi.Remote.
    * Only the Server and Listener know anything about each other.
    * This application can be run either remotely or locally, depending on how the Server and Listener are instantiated. For the latter, they're instantiated directly and the listener is registered with the Server. For the latter, the RemoteX interfaces will point to the service stubs.
    * I don't see an easy way to allow both the Server and the Listener to have references to each other (at least now without some casting magic), since one of them will have to conform to the value type specification, which requires that all of its fields must be valid JAX-RPC types.
    I've got the Server portions implemented and working, and am now going to turn to the Listener stuff. Can anybody see a fundamental problem with this design, or can suggest something better?

    Hi There,
    Because web services are fundamentally a Services-oriented architecture, and not an Object-oriented one, you are unable to pass objects by reference (only by value) hence the design decision to not allow rmi.Remote objects to be sent across the wire. The best way would be to abstract an object which does itself not represent a server, but a route to a server (lets call it ServerPointer). This must contain address, port, service info, etc.
    Now, in your Server class, create a factory method which takes a ServerPointer, and returns a reference to a
    remote server, e.g. protected Server createServer( ServerPointer p ) (using the necessary APIs to get such a reference)
    Hope this helps...

Maybe you are looking for