Bug/flaw in JAX-RPC xrpcc generated output (JWSDP EA1)

I believe I have found a bug (or flaw) in how xrpcc (JWSDP EA1) is generating stubs and WSDL code as follows:
If you use simple parameter types (ints, doubles, Strings et al) then xrpcc generates a name that is based on the type (eg. String_1) rather than the
parm name (senderID) in the WSDL and stub code. I have noticed, however, that if you are using a JavaBean as an input/output parameter to/from a remote method, it generates an XMLSchema ComplexType with the proper names of subelements, so that situation seems to be OK.
I think this is a bug/flaw in xrpcc...
For example, if you try to use a remote method that looks somewhat like:
public int SendTrajectory( String senderID )
You get the following fragment generated in the WSDL output from xrpcc:
<message name="sendTrajectory">
<part name="String_1" type="xsd:string"/>
whereas I think it should use the actual parameter name for simple parameters and should look like:
<message name="sendTrajectory">
<part name="senderID" type="xsd:string"/>
I read the JAX-RPC Spec (v 0.7....pdf on the Sun web site) and it seems to allude to the fact that the names SHOULD be based on the parameter name in
section 5.5.5. where it specifically states:
"Each Java parameter (in the Java method signature) is mapped to a message part in the wsdl:message. This wsdl:message corresponds to the wsdl:input element for the mapped wsdl:operation. Each message part has a name attribute that is mapped based on the name of the Java parameter and a type attribute (an XML data type)"
...and the example the shown further down in that section of the JAX-RPC spec re-inforces this opinion.
The generated code works with the current version of JAX-RPC and xrpcc, that is not the problem. There is a bigger issue with this situation, since you
cannot (and should not) assume that a web service (even if generated with JAX-RPC) will be invoked by a client that was generated with JAX-RPC tools.
The problem is really evident when you don't use JAX-RPC to talk to a JAX-RPC generated service, since you have to use these funny names like String_1, Double_3 which have no application context semantics and thus will invariably lead to some really subtle bugs in remote calls.
We have used JAX-RPC to generate our server side web service in the normal manner. However, our client is running on an embedded Java (CLDC/MIDP
level device....on an aJile Java chip in fact) where the JAX-RPC footprint is way too massive for the confines of the MIDP/CLDC platform. So we are using the Enhydra kSoap API and libraries on the client end to invoke the back end JAX-RPC service. This works fine by the way! We have successfully invoked JAX-RPC wrapped services from the embedded Java platform. The
difficulty stems from the fact that the kSOAP api (and others) require you to bind the values of the parameters for the SOAP invocation by using the WSDL <part> name, and so these funny type-based names become visible in your client application code. Ouch!
For example, my kSOAP calls to invoke our JAX-RPC service look like this (where request is a SOAP web services request using the kSOAP API's):
request.addProperty ( "String_1", "SaJe314159" );
request.addProperty ( "Double_2", pvt.getLatitude() );
request.addProperty ( "Double_3", pvt.getLongitude() );
request.addProperty ( "Double_4", pvt.getBearing().floatValue() ) );
request.addProperty ( "Double_5", pvt.getVelocity() );Whereas it should really look like the following, based on our interface definitions:
request.addProperty ( "senderID", "SaJe314159" );
request.addProperty ( "latitude", pvt.getLatitude() );
request.addProperty ( "longitude, pvt.getLongitude() );
request.addProperty ( "bearing", pvt.getBearing().floatValue() ) );
request.addProperty ( "velocity", pvt.getVelocity() );The problem is that xrpcc generates the names as in the first example (String_1, Double_2) instead of using the parameter names (eg. "senderID, latitude).
We can work around this in two ways for now: 1) use the type-based generated name labels for the moment, or 2) go into the xrpcc generated stub code and WSDL and make manual changes. In the longer term, I'm sure you appreciate why either of these workarounds are not acceptable.
Based on the above, I think that there is a bug/flaw in this version of xrpcc (it's using a parameter type rather than a parameter name to generate the <message>/<part> element in the WSDL (and of course in the generated stubs and such).
Thoughts? Fix in EA2 perhaps?
Thanks!
....Andrzej

I've got the same problem. I edited the WSDL and regenerated both Server and Client classes and it then didn't work. Forget the error but it seemed to have incorrectly capitalised a letter in a class/method name.
I am trying to define a common WSDL doc that our suppliers must conform to when providing us with a web service. My aim is that the common WSDL will be OK for both Java-based web services and .NET based web services. I have succeeded in this task apart from the method parameter name issue. .NET (of course) does it correctly, and its WSDL correctly names the method parameters. However Java Web Services via xrpcc produce this ridiculous String_1, String_2 etc which bear no relation to the method parameters. I cannot very well go to our suppliers who are using .NET and demand that their method/function parameters are named String_1, String_2 - and wouldn't Bill be pleased with my excuse that I'm trying to get equivalence with the deficiencies of Java ?

Similar Messages

  • Jax-rpc - remote procedure output

    When I call a object by jax-rpc and in the remote object an printStackTrace or System.out.prinln occurs, where does the output go ?
    I am on a Linux redhat systen, jwsdp 1.2
    Kind regards,
    Marco Laponder

    When I call a object by jax-rpc and in the remote
    object an printStackTrace or System.out.prinln occurs,
    where does the output go ?
    I am on a Linux redhat systen, jwsdp 1.2The server's System.out

  • Problems with the jax-rpc testcase from the JWSDP tutorial

    Hello.
    I have e few problems with the hello case from the JWSDP tutorial.
    Everything works fine during the build/compile/installation phase but when I'm accessing the url http://localhost:8080/jaxrpc-hello/jaxrpc, the server wont find the service and I get:
    404 The requested resource (/jaxrpc-hello/jaxrpc) is not available.
    I've trippel checked the environment settings and other properties and I don't know where to go to error check.
    I've tried to install the client as well but it wont detect the service so I guess there is a problem on the server side.
    I'm quite new to the whole "Web Service thing" So I would be happy to get som help.
    Chris

    if you run the tomcat manager application at http://localhost:8080/manager/list, what do you see? I suppose if you have successfully run the ant "install" task after "compile-server" and "xrpcc-server", you will see that your service is registered with its context path, but is not "running". This will be probably because of a runtime error. For further diagnosis of errors like these, I recommend to take a look at the log file at "<%JWSDP_HOME%>/logs/catalina.out".
    If you are satisfied with this answer, please be so kind and assign some of your duke dollars to me ;-)

  • WLS 8.1 JAX-RPC stubs and SSL

    I am part of an industry effort to assess WS interop. We have created a common
    WSDL that will be implemented in WAS, .NET and WLS 8.1. As part of this effort,
    we are also trying to use two-way SSL authentication. However, I have not found
    a way to configure WLS 8.1 JAX-RPC Stubs (generated using clientgen utilities)
    to present the client certificates. I have a tried a couple of approaches but
    neither of them works with the stubs.
    First, I tried using the SSLAdapter (as explained in the "Programming Web Services")
    documentation. Unfortunately, the service that I am trying to invoke has only
    http binding and trying to invoke it using the SSLAdapter throws an exception
    complaining that SSL can't be used on non-https binding.
    I tried to try another approach. In this, I tried to invoke https: URL for the
    web service instead of using the Adapter. However, in this case, I am getting
    a peer certificate not presented exception. Everything that I have checked in
    adding a client private key and trusted certificates utilize SSLSocketFactory
    (& SSLContext) or HttpsURLConnection objects.
    At this point, I have ran out of ideas on how to add SSL to the generated client
    stubs to tell the generated StubImpl or ServiceImpl implementations to use a different
    SocketFactory or connection. There may be some other global class or property
    to set these things up, but I am not aware of those. The server side SSL configuration
    seems to working fine, as the requests with SSL configuration of "Request Client
    certificate but don't enforce it' seems to work fine.
    Any responses and suggestions are greatly appreciated.
    Thanks
    Raj

    Did you check out :
    http://webservice.bea.com/
    There is a 2 way SSL example here:
    http://webservice.bea.com/SSL2way.zip
    HTHs.
    http://manojc.com
    "Seshadri Rajagopal" <[email protected]> wrote in message
    news:3ec24d41$[email protected]..
    >
    I am part of an industry effort to assess WS interop. We have created acommon
    WSDL that will be implemented in WAS, .NET and WLS 8.1. As part of thiseffort,
    we are also trying to use two-way SSL authentication. However, I have notfound
    a way to configure WLS 8.1 JAX-RPC Stubs (generated using clientgenutilities)
    to present the client certificates. I have a tried a couple of approachesbut
    neither of them works with the stubs.
    First, I tried using the SSLAdapter (as explained in the "Programming WebServices")
    documentation. Unfortunately, the service that I am trying to invoke hasonly
    http binding and trying to invoke it using the SSLAdapter throws anexception
    complaining that SSL can't be used on non-https binding.
    I tried to try another approach. In this, I tried to invoke https: URL forthe
    web service instead of using the Adapter. However, in this case, I amgetting
    a peer certificate not presented exception. Everything that I have checkedin
    adding a client private key and trusted certificates utilizeSSLSocketFactory
    (& SSLContext) or HttpsURLConnection objects.
    At this point, I have ran out of ideas on how to add SSL to the generatedclient
    stubs to tell the generated StubImpl or ServiceImpl implementations to usea different
    SocketFactory or connection. There may be some other global class orproperty
    to set these things up, but I am not aware of those. The server side SSLconfiguration
    seems to working fine, as the requests with SSL configuration of "RequestClient
    certificate but don't enforce it' seems to work fine.
    Any responses and suggestions are greatly appreciated.
    Thanks
    Raj

  • Batch operations with JAX-RPC

    I have read a number of different tutorials about Web services and JAX-RPC, and have to come the conclusion that JAX-RPC is the correct approach to use for my project. Most of the examples I have seen involve invoking services which perform a 'one-shot' action e.g. get a Stock Quote.
    My first question is that I am not sure for such 'one-shot' services, how much support there is in the API for sending/receiving arrays of data items. e.g. sending a user's data to a web service which includes an associated list of phone numbers.
    Further if I wanted to send user's data which included an array of nested objects, would I have to implement a serializer/deserialiser plugin?
    My main concern really is how best to handle a batch of requests to the service. My current thought is to use JAX-RPC with an xml document attachment - listing of a number of user's data and their parameters. A 'batch service' would return a response immediately then work through the document and invoke the existing 'single shot' service - which will be hosted on the same web server.
    Is this approach which brings together a number of different ideas from the various JAX-RPC tutorials viable? Are they any better alternatives?
    For example would it be better to implement a JAX-RPC for the single shot service requests and use JAXM for batch service requests? (On the server-side I would still be expecting the batch service to re-use the single-shot service). Can JAXM and JAX-RPC services co-exist on the same web server? I realise that there would be WSDL generated for the JAX-RPC service alone and so for a client developer there will be an inconsistency in terms of how the Web service is accessed.
    Thanks in anticipation

    Hello, I'll try and go through your questions one at a time:
    My first question is that I am not sure for such 'one-shot' services, how much support there is in the API for
    sending/receiving arrays of data items. e.g. sending a user's data to a web service which includes an
    associated list of phone numbers.JAX-RPC has built in support for List type operations. There is no problem sending Arrays of information over the wire. If you were sending an Object of type User, for instance, there would be no problem with User having a List of PhoneNumber types objects as part of it's structure.
    Further if I wanted to send user's data which included an array of nested objects, would I have to implement
    a serializer/deserialiser plugin?Condintional No. If the nested objects contained only data structures that JAX-RPC knows how to deal with, your fine (things like java.lang.String or java.lang.Integer). However, if your nested objects contain types that JAX-RPC does not know how to deal with (i.e. java.sql.TimeStamp), you will have to write a custom serializer/deserializer just like you would if you were passing those objects without them being nested.
    My main concern really is how best to handle a batch of requests to the service. My current thought is to
    use JAX-RPC with an xml document attachment - listing of a number of user's data and their parameters.
    A 'batch service' would return a response immediately then work through the document and invoke the
    existing 'single shot' service - which will be hosted on the same web server.
    Is this approach which brings together a number of different ideas from the various JAX-RPC tutorials
    viable? Are they any better alternatives?As per above you shouldn't have to send an xml document attachment, but I guess you could. Also, for batch processing type tasks you probably want to look at the asychronous mode mentioned in the JAX-RPC part of the JWSDP tutorial.
    For example would it be better to implement a JAX-RPC for the single shot service requests and use
    JAXM for batch service requests? (On the server-side I would still be expecting the batch service to re-use
    the single-shot service). Can JAXM and JAX-RPC services co-exist on the same web server? I realise
    that there would be WSDL generated for the JAX-RPC service alone and so for a client developer there
    will be an inconsistency in terms of how the Web service is accessed.Well, it really is up to you at this point. I assume that you want/need to use web services for access (as opposed to EJBs or any other method). So, I would look at an asychronous web service implementation.

  • Attachments using JAX - RPC

    I am using JAX - RPC for attachemnts using jwsdp-1.2. I am using DataHandler for attachments. I have been able to deploy the web service but when I try to connect to web service using client, I get following error. ny help will be greatly appreciated
    serialization error: java.lang.NullPointerException
    at com.sun.xml.rpc.encoding.AttachmentSerializer.serializeAsAttachment(AttachmentSerializer.java:120)
    at com.sun.xml.rpc.encoding.AttachmentSerializer.serialize(AttachmentSerializer.java:74)
    at com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.serialize(ReferenceableSerializerImpl.java:71)
    at attachments.client.AttachmentExampleAPI_sendDocument_RequestStruct_SOAPSerializer.doSerializeInstance(AttachmentExampleAPI_sendDocument_RequestStruct_SOAPSerializer.java:88)
    and more lines of error.
    Below is my client and webservice code :
    CLIENT
    FileDataSource fs = new FileDataSource("abc.txt");
    DataHandler dhSource = new DataHandler(fs);
    AttachmentExampleAPI up = new TestService_Impl().getAttachmentExampleAPIPort();
    up.sendDocument("properties", dhSource));
    WEBSERVICE CODE
    public void sendDocument(String name, DataHandler dh) throws java.rmi.RemoteException {
    DataSource ds = rdh.getDataSource();
    dh.writeTo(new FileOutputStream("abc.txt" ));
    Any help regarding the error will be great.

    Not sure exactly what the problem is but i have sent attachements successfully from the server to client using:
    SERVER method:
    public javax.activation.DataHandler getAudioMIMEAttachment(java.lang.String in0, java.lang.String in1) throws java.rmi.RemoteException {
    String inputFilename = null;
    String inputFormat = null;               
    inputFilename = "C:\\wav\\" + in0 + "." + in1;
    System.out.println("You have requested the following file: " + inputFilename);
    //create a new DataHandler object for the file contents
    DataHandler dh = new DataHandler(new FileDataSource(new File(inputFilename)));
    return dh;                    
    Chunks from client code:
    StreamingMultimediaSoapBindingStub stub = null;
    try
    stub = (StreamingMultimediaSoapBindingStub)(new StreamingDemoServiceLocator().getPort(StreamingMultimediaSoapBindingStub.class));
    catch (javax.xml.rpc.ServiceException jre) {
    System.err.println("Could not get client stub.");
    jre.printStackTrace();
    //call for binary DataHandler attachment
    if(stub != null)
    try
    dh = stub.getAudioMIMEAttachment("long", "wav");                                   
    catch (java.rmi.RemoteException re) {
    System.err.println("Error whilst calling method on client stub.");
    re.printStackTrace();                                   
    Well, hope it helps
    regards
    Paul

  • JAX-RPC screen does not appear when generating a WS proxy

    I'm using JDev 11.1.1.2. When I tried to generate a Web Service proxy, this screen does NOT appear most of the time. I only saw it appear one time. Do you know why?
    It's step 2 of the wizard.
    Client Style
    + JAX-RPC Web Logic Style
    + JAX-WS Style

    Whenever one tries to generate web service proxies for the first time, JDeveloper allows the user to choose the client style (JAX-RPC Web Logic Style OR JAX-WS Style).
    Once the option is selected, JDeveloper automatically adds the dependent jars in the classpath. When one tries to generate the proxies a second time,
    JDeveloper does not provide an option to select the client type. It defaults to the one which was selected for the first time.
    I was able to overcome the problem using the following approach.
    1. For JAX-RPC client style:
    Right Click the Model (or ViewController) project -> Project Properties -> Libraries and Classpath ->
    Add Library -> select JAX-RPC Web Logic Client, JAX-RPC 11 Web Services
    Remove JAX-WS Web Services library (if present)
    2. For JAX-WS client style:
    Right Click the Model (or ViewController) project -> Project Properties -> Libraries and Classpath ->
    Add Library -> JAX-WS Web Services
    Remove JAX-RPC related libraries (if present)
    I am using Jdeveloper Version 11.1.1.4.0
    - Pranab Garad

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

  • How to generate a soapFault from jax-rpc hander

    Hello,
    I'm building a custom authentication jax-rpc handler (OAS 10.1.3.1) that is supposed to make the service to return a fault if some conditions are not met.
    Here is what we need to return:
    <Fault><faultcode>invalidIP</faultcode><faultstring>IP is not known</faultstring><faultactor></faultactor></Fault>
    I tried to throw a SOAPFaultException, but all the is returned back is the original SOAP request.
    How should it be implemented?
    if ( !res ) {
    Detail detail = null;
    try{
    detail = SOAPFactory.newInstance().createDetail();
    }catch(SOAPException ex){
    ex.printStackTrace();
    throw new javax.xml.rpc.soap.SOAPFaultException(
    new javax.xml.namespace.QName("env.Server"),
    "IP is not known", "NO ACTOR", detail);
    }

    Hello ,
    I think you need to use the Work item Change set
    cube of TFS .You need to go through the below page
    http://msdn.microsoft.com/en-us/library/ms244678.aspx
    Ahsan Kabir Please remember to click Mark as Answer and Vote as Helpful on posts that help you. This can be beneficial to other community members reading the thread. http://www.aktechforum.blogspot.com/

  • Xrpcc: Generate stub from WSDL

    Hi,
    I created a JAX-RPC based web services and used xrpcc tool to generate the server-side classes and wsdl file. And then deployed them on tomcat successfully.
    To access the web service, the remote client needs to get the wsdl document (in this case, i used the one generated by the xrpcc tool on the service side) and generate the client-side stub and other classes.
    However, i got an error message when trying to generate the stub:
    error: modeler error: invalid entity name: "PriceQuote" (in namespace: "http://www.w3.org/2001/XMLSchema")
    The wsdl document looks as follows:
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions name="TestService" targetNamespace="http://www.deitel.com/test.wsdl" xmlns:tns="http://www.deitel.com/test.wsdl" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
    <message name="getPrice">
    <part name="String_1" type="xsd:string"/></message>
    <message name="getPriceResponse">
    <part name="result" type="xsd:PriceQuote"/></message>
    <portType name="Test">
    <operation name="getPrice">
    <input message="tns:getPrice"/>
    <output message="tns:getPriceResponse"/></operation></portType>
    <binding name="TestBinding" type="tns:Test">
    <operation name="getPrice">
    <input>
    <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" namespace="http://www.deitel.com/test.wsdl"/></input>
    <output>
    <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" namespace="http://www.deitel.com/test.wsdl"/></output>
    <soap:operation soapAction=""/></operation>
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/></binding>
    <service name="TestService">
    <port name="TestPort" binding="tns:TestBinding">
    <soap:address location="http://zhang:8080/jaxrpc-test/test/endpoint/Test"/></port></service></definitions>
    I noticed that the error is caused by PriceQuote data type. Then I added PriceQuote data type definition to the wsdl file.
    <types>
    <xsd:schema
    targetNamespace="http://www.deitel.com/schema"
    xmlns="http://www.w3.org/2001/XMLSchema">
    <xsd:complexType name="PriceQuote">
    <xsd:sequence>
    <xsd:element name="price" type="xsd:double"/>
    <xsd:element name="ISBN" type="xsd:string"/>
    <xsd:element name="storeID" type="xsd:int"/>
    <xsd:element name="storeDescription" type="xsd:string"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:schema>
    </types>
    <message name="getPrice">
    <part name="String_1" type="xsd:string"/></message>
    <message name="getPriceResponse">
    <part name="result" type="xsd1:PriceQuote"/></message>
    The xrpcc tool then can generate the client-side stub and classes without any problems. However, when the client is executed, I got the following error message:
    java.rmi.RemoteException: deserialization error: deserialization error: deserial
    ization error: deserialization error: unexpected element type: expected={http://
    www.deitel.com/schema}PriceQuote, actual={http://www.w3.org/2001/XMLSchema}Price
    Quote; nested exception is:
    deserialization error: deserialization error: deserialization error: des
    erialization error: unexpected element type: expected={http://www.deitel.com/sch
    ema}PriceQuote, actual={http://www.w3.org/2001/XMLSchema}PriceQuote
    deserialization error: deserialization error: deserialization error: deserialization error: unexpected element type: expected={http://www.deitel.com/schema}PriceQuote, actual={http://www.w3.org/2001/XMLSchema}PriceQuote
    at com.sun.xml.rpc.encoding.SOAPDeserializationContext.deserializeMultiR
    efObjects(SOAPDeserializationContext.java:107)
    at com.sun.xml.rpc.client.StreamingSender._sendStreamingSender.java:159)
    at test.TestPort_Stub.getPrice(Unknown Source)
    Any suggestions?
    Thanks in advance,
    Su

    Su,
    I have been having same problem you have experimented. I did not quite understand the change you made exactly. Can you please help.
    Thanks
    Sam
    <?xml version="1.0"?>
    <definitions
    name="stockquote"
    targetNamespace="http://quote.com/stockquote.wsdl"
    xmlns:tns="http://quote.com/stockquote.wsdl"
    xmlns:xsd1="http://quote.com/stockquote.xsd"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns="http://schemas.xmlsoap.org/wsdl/">
    <types>
    <schema targetNamespace="http://quote.com/stockquote.xsd"
    xmlns="http://www.w3.org/2000/10/XMLSchema">
    <element name="TradePriceRequest">
    <complexType>
    <all>
    <element name="tickerSymbol" type="string"/>
    </all>
    </complexType>
    </element>
    <element name="TradePrice">
    <complexType>
    <all>
    <element name="price" type="float"/>
    </all>
    </complexType>
    </element>
    </schema>
    </types>
    <message name="GetLastTradePriceInput">
    <part name="body" element="xsd1:TradePriceRequest"/>
    </message>
    <message name="GetLastTradePriceOutput">
    <part name="body" element="xsd1:TradePrice"/>
    </message>
    <portType name="StockQuotePortType">
    <operation name="GetLastTradePrice">
    <input message="tns:GetLastTradePriceInput"/>
    <output message="tns:GetLastTradePriceOutput"/>
    </operation>
    </portType>
    <binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="GetLastTradePrice">
    <soap:operation soapAction="http://quote.com/GetLastTradePrice"/>
    <input>
    <soap:body use="literal"/>
    </input>
    <output>
    <soap:body use="literal"/>
    </output>
    </operation>
    </binding>
    <service name="StockQuoteService">
    <documentation>My first service</documentation>
    <port name="StockQuotePort" binding="tns:StockQuoteBinding">
    <soap:address location="http://quote.com/stockquote"/>
    </port>
    </service>
    </definitions>
    Hi Todor,
    I found out what caused the problem: I used
    "http://www.w3.org/2001/XMLSchema" as the
    typeNameSpace in the configuration file that is passed
    into the xrpcc tool when generates the wsdl document.
    Once I changed it to something else, everything works
    fine.
    Thanks,
    Su

  • JAX-RPC: restrictions on service exception field types?

    When I define a service-specific exception type that has String fields only, it works fine. But if the exception class has an int field, xrpcc complains. It also fails if I change the field to Integer.
    Since JAX-RPC supports both int and Integer as operation argument and return types, I expected exceptions to be able to use these types as well. Are there restrictions on exception fields types?
    Here is the class with the int fields and the xrpcc errors it generates:
    public class InvalidRecordingIdException extends Exception {
         private int id;
         public InvalidRecordingIdException() {
              super();
         public InvalidRecordingIdException(int id) {
              this.id = id;
         public int getId() {
              return id;
    xrpcc-server:
         [echo] Running xrpcc for the server:
         [exec] rain\RainOrder_orderRecording_Fault_SOAPSerializer.java:69:
           Method serialize(int, javax.xml.namespace.QName,
           null, com.sun.xml.rpc.streaming.XMLWriter,
           com.sun.xml.rpc.encoding.SOAPSerializationContext)
           not found in interface com.sun.xml.rpc.encoding.CombinedSerializer.
         [exec] myns2__int__int_Int_Serializer_Serializer.serialize(((
           rain.InvalidRecordingIdException)detail).getId(),
           ns1_InvalidRecordingIdException_QNAME, null, writer, context);
         [exec]                                                                ^
         [exec] rain\RainOrder_orderRecording_Fault_SOAPBuilder.java:32:
         Invalid cast from java.lang.Object to int.
         [exec] instance.setDetail(new rain.InvalidRecordingIdException((int)detail));
         [exec]                                                                         ^
         [exec] 2 errors
         ...Here's the error for the Integer field in an exception:
    xrpcc-server:
         [echo] Running xrpcc for the server:
         [exec] error: generator error: generator error: java.lang.ClassCastException:
         com.sun.xml.rpc.processor.model.soap.SOAPSimpleType
         [exec] 1 error

    You have run into a bug that will be fixed in the next release of the JWSDP dealing with Exceptions with only one member that is a primitive type. However, changing that member to a boxed (Integer) representation should work, what version of JAXRPC are you using? As a work around you should be able to eliminate the problem by adding one more member to the Exception using a different type.
    Thank you for your interest in JAXRPC

  • JAX RPC extension: Problem with document/literal and MyType[]

    Hi,
    I have installed the JAX RPC extension and want to generate a stub from my WSDL file. The WSDL describes a document/literal binding.
    Problem:
    A webservice server method like:
    public wineshop.model.common.SimpleProducer[] getSimpleProducerList() throws RemoteException;
    is translated into a stub method like:
    public UnknownType getSimpleProducerList() throws Exception {..}
    Is an array of own types with the binding style "document/literal" not supported in JAX RPC 1.4 or is it just a bug?
    The WSDL file is generated by JAX RPC 1.4.
    I have installed JWSDP-1.5 and generated a stub with wscompile from the WSDL file. The generated stub has the correct method return type:
    public wineshop.ws.client.SimpleProducer[] getSimpleProducerList()
    throws java.rmi.RemoteException
    It there a workaround like replacing some JDev JARs with JWSDP-1.5 to solve the problem?
    Any hints are welcome.
    Thanks Markus

    repost.....

  • Jdeveloper 11g - JAX-RPC 1.1 method is not supported in WLS 8.1 clients.

    Hi,
    I am using Jdeveloper 11g and migrating a web Service Proxy created using jdeveloper 10g.
    I imported all the proxy classes and when I try to run web service client In Jdeveloper 11g I get the following error
    "JAX-RPC 1.1 method is not supported in WLS 8.1 clients. If you are attempting to run an OC4J 10.1.3 JAX-RPC client in WLS, please see the Web Service Migration Guide for instructions."
    Please advise on how to solve this?
    which is the offending jar/library file in Jdeveloper 11g which is causing the above error?.
    Is the above problem there in the WebLogic Server Runtime also?
    Please let me know.
    2) I cannot generate web server proxies also with jdev11g because the wsdl has overloaded methods omitting the name property within the input and output message, ie, they have a null name. therefore Jdeveloper 11g is using the library which
    when called with an overloaded operation that contains null input/output message names, a duplicate error occurs because it sees other operations with the same name. so it is effectively not allowing to create the web service proxies.
    Thanks,
    Appreciate your quick response to the above

    Have you checked the 'Web Service Migration Guide' mentioned in the error message?
    Timo

  • IPhone Bugs, Flaws & Wishlist (ADD YOURS TO LIST!!)

    iPhone Bugs, Flaws & Wishlist
    -AT&T’s EDGE cellular network: "excruciatingly slow"
    -Making calls can be a 6 step process if phone is off.
    -halfway decent internal speakers for listening if you set the thing down
    -iPod games are not compatible with iPhone?
    -No way to copy/paste text, are you kidding?
    -Voice call quality good, but not great
    -Can't record video, are you kidding?
    -Songs can't be set as ringtones? I think this issue will change in iTunes 7.3 though
    -can’t download songs or movies from itunes directly from phone?? c'mon
    -memory is not expandable, No SD card slot
    -no GPS, but close
    -no SmartTyping for Safari OR looking up contacts??? c'mon
    -No Microsoft Office, no “Significant” 3rd party apps
    -Isn’t the speaker & mic on BOTTOM of phone pretty useless when in dock? Don't know
    -iPhone’s web should run on AT&T’s fastest web technology, NOT EDGE
    -“true” world phone? maybe...
    -No black dock
    -8GB is an amazing accomplishment for a phone, but a huge downfall in “iPod world” when iPods are up to 80GB now
    -"runs on Mac OS X" is a pretty much a lie, can’t open OSX apps, can't store/save files or edit, no folders
    -no iChat, which means no instant messaging, just text messaging
    -no wireless sync
    -no way to have a backup battery or two; Apple would actually make more money if they sold batteries
    -Speakerphone / Vibrate are weak
    -No voice memos, voice dialing or call recording
    -Lacks video output to a TV
    -No disk mode
    -Can only use one of 25 preset ringtones????
    -iPhone can't be used as a wireless modem for your laptop
    -Keyboard hardly rotates when you want it to
    -lyrics for ipod
    -camera has no flash, zoom or self-portrait mirror
    -Notes from iPhone doesn’t sync/show up on computer
    -Safari does not support Java, Adobe Flash, stored passwords, RSS, streaming audio or video (except for some QuickTime videos) -- almost defeats purpose of “real internet in your pocket”
    -no engraving on back like iPods offered
    -Mail landscape view doesn’t work
    -No Mark as Read feature
    -Can’t send media through SMS text
    -Can’t send same text to multiple people
    -Can’t scan (wouldn’t that be cool?)
    -Date doesn’t show, except for the Calendar Icon sorta shows you date
    -Calendar should work a lot more like iCal (event categories missing, landscape view missing, to-dos missing, ability to tap time to create event)
    -Calendar not syncing correctly with iCal (at least for me using a Leopard seed)
    -Can’t custom resize video or zoom in
    -Keyboard doesn’t rotate
    -Notes doesn’t rotate
    -needs a file browser to be able to open docs and images that you've synced to your phone.. somehow.. (isync support?)
    -A file system needs to be apparent so you can easily do things like attach multiple files in an email
    -gets scorching hot if left on bed while you’re using it
    -Alarm doesn’t allow an alert message to go along with your alarm (reminder)
    -Weather app on home screen should change sun/moon/cloud images & temperature for your primary city without having to open the actual app, similar to how Calendar changes date without having to open app
    -no Empty Trash function for e-mail and voicemail
    -would be cool if had guitar tuning capability
    -can’t send files via Bluetooth. What the **** is it on the phone for then besides headset?
    -email is “non-landscapable”
    -no free rotate in move and scale mode or anywhere for that matter (with photos)
    -iPod Cover Flow doesn’t show custom-made album artwork (.jpg,.png, .tif, etc)
    -can’t log in to your YouTube account via YouTube app
    -mic should act as 2nd speaker when not used as mic (if possible)
    -Bluetooth not finding any devices (at least for me)
    -No undo, especially when editing your contacts makes it a nightmare
    -Add Field entries made under Contacts editing should be stored so user can easily use the entry again
    -Contacts need a default Comments or Notes label
    -In Contacts, user should be able to move/sort/arrange custom labels to their liking
    -option to hear sounds every time you press a button, not only keyboard
    -ability to choose sound for a particular function, for example, say you didn’t like the “New Voicemail” sound, you should be able to change it like you can do in a Treo
    -certain photos won’t show up ONLY in “Add Photo” mode when editing Contacts, you just get a black screen
    -iPhoto should not come to front of screen when syncing (it does for me in a Leopard seed I’m using)
    -Ability to check for new mail every minute, not a minimum of 15!
    -Option to keep current screen on when phone is locked for a certain amount of time, like a Treo
    -Wallpaper slideshow and video capability
    If Apple thinks that they can intentionally leave “key” features out of the iPhone just to make us think that the iPhone2 is a “significant update”, then Apple isn’t the company I thought it was. Make your phone the “best” it can possibly be for the time it comes out. Don’t leave out “standard” smartphone technology that will make people think twice about trashing their Treo or Blackberry. Adding true GPS or upgrading the internal memory is a different story, but things like the inability to copy and paste, the inability to record video, and the inability to use voice dialing should definitely not be issues with iPhone’s release, especially due to the fact that Apple had more than six months to test the thing. I really hope Apple fixes a lot of these “flaws” immediately or else iPhone won’t be as successful and as respected as it could have been.
    Just trying to help. Please forward this to the appropriate iPhone Development department.
    Thank You
    Brian Judah
    Proud ADC Member

    Please take your criticisms and suggestions to the new created iPhone feedback page.

  • XML Parser Error while creating Web service Client using JAX RPC

    hello evryone,
    Im facing XML Parser Error while creating web service client using JAX RPC. Im using Net Beans IDE for development purpose. I have wrote configuration file for client. Now i want to create Client stub. However i dont know how to do this in Net Beans. So i tried to do it from Command promt using command :
    wscompile -gen:client -d build -classpath build config-wsdl.xml
    here im getting Error:
    error parsing configuration file: XML parsing error: com.sun.xml.rpc.sp.ParseException:10: XML declaration may only begin entities
    Please help me out.
    Many thanks in advance,
    Kacee

    Can i use the client generated using jdeveloper 11g to import into the oracle forms 10g, i.e., form builder 10g. Currently this is the version we have in our office.

Maybe you are looking for