Problem in passing/returning objects over dynamic web service call

Hi Friends,
I am beginner in java web service.
Here is the problem I am facing when I pass/return user defined objects to remote web service method using dynamic we service call.
The client can call the remote web service method in 2 ways.
1. By generating client stubs using WSDL file
- In this case, I am able to pass/return the user defined objects to remote method without any issue only when the server side web services are deployed in any server(jboss)
- But in java 1.6 & above, the web services can be deployed without server using endpoint. In this case, I am not able to pass/return objects over web service calls.
2. Without generating client stubs (dynamic web service call)
- This will establish a connection at run time using the given WSDL file (I have attached the document). I have to form an XML(This will contain API name, arguments) string as input at run time
- In this case, it allows only string as argument while passing & returning.
Please let me know if you can help me on this.
Regards,
pani

I'm not sure about your question, but this might help:
[http://forum.java.sun.com/thread.jspa?threadID=5251188|http://forum.java.sun.com/thread.jspa?threadID=5251188]
You might also want to read on JAXB.

Similar Messages

  • Unable to pass xmlbeans object in weblogic web services using OEPE

    Migrating Weblogic web services from Weblogic Workshop 10.3 to Oracle Enterprise for Eclipse...Passing xmlbean generated types in arguments of webservice call
    How to work around the following errors? I do not have this error when in workshop 10.3 only in OEPE eclipse
    "oracle.eclipse.tools.webservices.compiler.CompilationException: Errors: JAX-WS web services must not have xmlBean parameter or return type"
    PLease note that I want DocType to be xmlbeans generated or inherited from org.apache.xmlbeans.XmlObject....
    @WebMethod
         public void upload(String filename, DocType doc) {
    Hi, I have legacy codes from Weblogic workshop 10.1 and 10.3.....
    I am able to compile and run in Weblogic workshop 10.3 by passing the xmlbean generated DocType as arguments in the web services call.... but why am I not able to do this in Oracle Enterprise for Eclipse OEPE......
    If I were to generate the web service from teh wsdl...it will generate it's own DocType.class in the jar files and not use the xmlbean generated class one....
    How to get iOEPE to generate the classes in build\jws\ for
    testWSService-annotation.xml
    weblogic-webservices.xml etc like in workshop
    How can I resolve this??? Am I stuck with Workshop on this?? How to work around??
    Any help or clarifications would be much appreciated.
    Inside testWS.java,
    package ws;
    import java.io.File;
    import javax.jws.*;
    import org.example.doc.DocType;
    @WebService
    public class testWS {
         @WebMethod
         public void upload(String filename, DocType doc) {
              try {
                   doc.save(new File(filename));
              catch(Exception e) {
                   System.out.println(e);
    Inside xmlbeans generated DocType.java.....and DocTypeDocuments.java
    * XML Type: DocType
    * Namespace: http://www.example.org/doc
    * Java type: org.example.doc.DocType
    * Automatically generated - do not modify.
    package org.example.doc;
    * An XML DocType(@http://www.example.org/doc).
    * This is a complex type.
    public interface DocType extends org.apache.xmlbeans.XmlObject
    public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType)
    org.apache.xmlbeans.XmlBeans.typeSystemForClassLoader(DocType.class.getClassLoader(), "schemaorg_apache_xmlbeans.system.testWSTypeSystem").resolveHandle("doctypec217type");
    * Gets the "element1" element
    java.lang.String getElement1();
    * Gets (as xml) the "element1" element
    org.apache.xmlbeans.XmlString xgetElement1();
    * Sets the "element1" element
    void setElement1(java.lang.String element1);
    * Sets (as xml) the "element1" element
    void xsetElement1(org.apache.xmlbeans.XmlString element1);
    * Gets the "element2" element
    java.lang.String getElement2();
    * Gets (as xml) the "element2" element
    org.apache.xmlbeans.XmlString xgetElement2();
    * Sets the "element2" element
    void setElement2(java.lang.String element2);
    * Sets (as xml) the "element2" element
    void xsetElement2(org.apache.xmlbeans.XmlString element2);
    * A factory class with static methods for creating instances
    * of this type.
    public static final class Factory
    public static org.example.doc.DocType newInstance() {
    return (org.example.doc.DocType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); }
    public static org.example.doc.DocType newInstance(org.apache.xmlbeans.XmlOptions options) {
    return (org.example.doc.DocType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, options ); }
    /** @param xmlAsString the string value to parse */
    public static org.example.doc.DocType parse(java.lang.String xmlAsString) throws org.apache.xmlbeans.XmlException {
    return (org.example.doc.DocType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xmlAsString, type, null ); }
    public static org.example.doc.DocType parse(java.lang.String xmlAsString, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
    return (org.example.doc.DocType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xmlAsString, type, options ); }
    /** @param file the file from which to load an xml document */
    public static org.example.doc.DocType parse(java.io.File file) throws org.apache.xmlbeans.XmlException, java.io.IOException {
    return (org.example.doc.DocType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( file, type, null ); }
    public static org.example.doc.DocType parse(java.io.File file, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
    return (org.example.doc.DocType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( file, type, options ); }
    public static org.example.doc.DocType parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
    return (org.example.doc.DocType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, null ); }
    public static org.example.doc.DocType parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
    return (org.example.doc.DocType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, options ); }
    public static org.example.doc.DocType parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
    return (org.example.doc.DocType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, null ); }
    public static org.example.doc.DocType parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
    return (org.example.doc.DocType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, options ); }
    public static org.example.doc.DocType parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
    return (org.example.doc.DocType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, null ); }
    public static org.example.doc.DocType parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
    return (org.example.doc.DocType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, options ); }
    public static org.example.doc.DocType parse(javax.xml.stream.XMLStreamReader sr) throws org.apache.xmlbeans.XmlException {
    return (org.example.doc.DocType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( sr, type, null ); }
    public static org.example.doc.DocType parse(javax.xml.stream.XMLStreamReader sr, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
    return (org.example.doc.DocType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( sr, type, options ); }
    public static org.example.doc.DocType parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
    return (org.example.doc.DocType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, null ); }
    public static org.example.doc.DocType parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
    return (org.example.doc.DocType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, options ); }
    /** @deprecated {@link org.apache.xmlbeans.xml.stream.XMLInputStream} */
    public static org.example.doc.DocType parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
    return (org.example.doc.DocType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
    /** @deprecated {@link org.apache.xmlbeans.xml.stream.XMLInputStream} */
    public static org.example.doc.DocType parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
    return (org.example.doc.DocType) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
    /** @deprecated {@link org.apache.xmlbeans.xml.stream.XMLInputStream} */
    public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
    return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
    /** @deprecated {@link org.apache.xmlbeans.xml.stream.XMLInputStream} */
    public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
    return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
    private Factory() { } // No instance of this class allowed
    Edited by: user11079482 on Jan 1, 2010 2:09 AM

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

  • Dynamic - Web Service Call

    Hi All
    I am working on 12.2.3 build 165. I am trying to call web service dynamically providing url at the run time..
    I tried using wizard way- giving url, then selecting operation and it works fine. But is it possible to give url as input at run time... I have tried giving no. of inputs at run time but none worked. Pls guide in detail if this is possible.
    thanking you all , taranum

    Hello Nagaraju,
    I need to create a dynamic Webservice call for my application.
    As you mentioned on above I passed the following with link editor in Web service call,
    1. WSDL Base URL
    2. WSDL URL
    3. Opertaion
    but its showing the following error
    com.sap.lhcommon.webservice.SoapOperation.getInputMessage() of an object loaded from local variable 'oper'
    Am i missing any mandatory field value to pass to Webservice call ?
    how can I pass XML input at run time to the request object in this scenario ?
    Here I'm using this as a common transaction, so multiple transaction can use it to post to Web sphere.
    Looking forward for your assistance.
    I need to pass wsdl's dynamically, So can I pass Input XML to request object in linke editor ?
    on of the WSDL structure:
    Regards,
    Srisailam Yadav

  • Object store for web service call?

    Hi all,
    If I can't do synchronous web service calls I remember
    reading something about an object that you can send with the call
    containing attribute you set and it will be included in the
    callback. I can use this to store some info I need for the call
    back on the client side.
    I cant find info about this object now despite searching high
    and low. If this object exists what is it called (callbackStore?)
    thanks
    Mark

    Hi Mike,
    Good news!!! I figured out what's happening.
    The codes that I posted were related to the Process. They are process status codes.
    What you are looking for is related to the Job. So here are the job status codes.
    JOB_STATUS_UNKNOWN = 0 (default)
    JOB_STATUS_QUEUED = 1
    JOB_STATUS_RUNNING=2
    JOB_STATUS_COMPLETED=3
    JOB_STATUS_FAILED=4
    JOB_STATUS_TERMINATED=5
    JOB_STATUS_SUSPENDED=6
    JOB_STATUS_COMPLETE_REQUESTED=7
    JOB_STATUS_TERMINATE_REQUESTED=8
    JOB_STATUS_SUSPEND_REQUESTED=9
    JOB_STATUS_RESUME_REQUESTED=10
    cheers,
    Parth

  • Returning xml string in web service call

    hi all
    i'm writing a server-side web service
    one method i am writing returns a recordset from a db query. i then use jdom to trasnform the recorset to xml and i retrun the xml as a string
    however, my client who is using this web service is having difficulty with the xml string i return - instead of angle brackets it is retruned as &alt &agt
    the client is now able to get rid of the &alt signs but now he cannot traverse through the xml to get the elemnts
    i'm using this code to retrun the xml
    how do others retrun xml within their web sevices?
    try
    RecordsetToXML rsXML = new RecordsetToXML(rs, "ROOT", "UCWSTATS");
    Document jDOMDoc = rsXML.build();
    rs = null;
    XMLOutputter outputter = new XMLOutputter();
    outputter.output(jDOMDoc, writer);
    result = writer.toString();
    writer.close();
    return result;

    Does result end up with a String containing the offending encoded characters, or does it occur when you transfer the xml over the pipe?

  • Unable to Create/Update Sales Party Object via FA Web Service Calls.

    Invoking the updateSalesParty() and createSalesParty() methods of the Web Service proxy doesn't show any errors, but at the same time, it doesn't create or update the Sales party objects on the Fusion instance.
    ( https://rws-fap0267-crm.oracledemos.com/crmCommonSalesParties/SalesPartyService?WSDL )
    I've attached the java code and console output when I run the code for your ready reference.
    Any pointers on what I'm missing will be very helpful.
    Thanks in advance!
    Cheers,
    Sharath

    I tried invoking the WS -via SOAPUI - using the payload specified in WebService Sample Payload for Creating a Sales Account (Doc ID 1362190.1) and I get the follow error response.
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
      <env:Header/>
      <env:Body>
          <env:Fault>
            <faultcode>env:Server</faultcode>
            <faultstring><![CDATA[JBO-27023: Failed to validate all rows in a transaction.JBO-27024: Failed to validate a row with key oracle.jbo.Key[300000077245710 ] in OrganizationDEOJBO-27014: Attribute Type_c in OrganizationDEO is required.JBO-27014: Attribute Type_c in OrganizationDEO is required.JBO-27024: Failed to validate a row with key oracle.jbo.Key[300000077245711 ] in PartySiteEOJBO-HZ:::HZ_NO_LOCATION_FOUND: <MESSAGE><NUMBER>HZ-120085</NUMBER><TEXT>The location 958 is invalid. Use a valid location from the HZ_LOCATIONS table.</TEXT><CAUSE></CAUSE><ACTION></ACTION><DETAILS></DETAILS><INCIDENT></INCIDENT></MESSAGE>JBO-27024: Failed to validate a row with key oracle.jbo.Key[300000077245712 ] in PartySiteUseEO: nullJBO-27024: Failed to validate a row with key oracle.jbo.Key[300000077245714 ] in PartyUsageAssignmentEO: null]]></faultstring>
            <detail>
                <tns:ServiceErrorMessage xmlns:tns="http://xmlns.oracle.com/adf/svc/errors/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                  <tns:code>27023</tns:code>
                  <tns:message>JBO-27023: Failed to validate all rows in a transaction.</tns:message>
                  <tns:severity>SEVERITY_ERROR</tns:severity>
                  <tns:detail xsi:type="tns:ServiceRowValErrorMessage">
                      <tns:code>27024</tns:code>
                      <tns:message>JBO-27024: Failed to validate a row with key oracle.jbo.Key[300000077245710 ] in OrganizationDEO</tns:message>
                      <tns:severity>SEVERITY_ERROR</tns:severity>
                      <tns:detail xsi:type="tns:ServiceAttrValErrorMessage">
                        <tns:code>27014</tns:code>
                        <tns:message>JBO-27014: Attribute Type_c in OrganizationDEO is required.</tns:message>
                        <tns:severity>SEVERITY_ERROR</tns:severity>
                        <tns:exceptionClassName>oracle.jbo.AttrValException</tns:exceptionClassName>
                        <tns:attributeName>Type_c</tns:attributeName>
                        <tns:objectName>OrganizationDEO</tns:objectName>
                      </tns:detail>
                      <tns:detail xsi:type="tns:ServiceAttrValErrorMessage">
                        <tns:code>27014</tns:code>
                        <tns:message>JBO-27014: Attribute Type_c in OrganizationDEO is required.</tns:message>
                        <tns:severity>SEVERITY_ERROR</tns:severity>
                        <tns:exceptionClassName>oracle.jbo.AttrValException</tns:exceptionClassName>
                        <tns:attributeName>Type_c</tns:attributeName>
                        <tns:objectName>OrganizationDEO</tns:objectName>
                      </tns:detail>
                      <tns:exceptionClassName>oracle.jbo.RowValException</tns:exceptionClassName>
                      <tns:objectName>OrganizationDEO</tns:objectName>
                  </tns:detail>
                  <tns:detail xsi:type="tns:ServiceRowValErrorMessage">
                      <tns:code>27024</tns:code>
                      <tns:message>JBO-27024: Failed to validate a row with key oracle.jbo.Key[300000077245711 ] in PartySiteEO</tns:message>
                      <tns:severity>SEVERITY_ERROR</tns:severity>
                      <tns:detail xsi:type="tns:ServiceRowValErrorMessage">
                        <tns:code>HZ:::HZ_NO_LOCATION_FOUND</tns:code>
                        <tns:message><![CDATA[JBO-HZ:::HZ_NO_LOCATION_FOUND: <MESSAGE><NUMBER>HZ-120085</NUMBER><TEXT>The location 958 is invalid. Use a valid location from the HZ_LOCATIONS table.</TEXT><CAUSE></CAUSE><ACTION></ACTION><DETAILS></DETAILS><INCIDENT></INCIDENT></MESSAGE>]]></tns:message>
                        <tns:severity>SEVERITY_RECOVERABLE_ERROR</tns:severity>
                        <tns:exceptionClassName>oracle.jbo.RowValException</tns:exceptionClassName>
                        <tns:objectName>PartySiteEO</tns:objectName>
                      </tns:detail>
                      <tns:exceptionClassName>oracle.jbo.RowValException</tns:exceptionClassName>
                      <tns:objectName>PartySiteEO</tns:objectName>
                  </tns:detail>
                  <tns:detail xsi:type="tns:ServiceRowValErrorMessage">
                      <tns:code>27024</tns:code>
                      <tns:message>JBO-27024: Failed to validate a row with key oracle.jbo.Key[300000077245712 ] in PartySiteUseEO</tns:message>
                      <tns:severity>SEVERITY_ERROR</tns:severity>
                      <tns:detail xsi:type="tns:ServiceErrorMessage">
                        <tns:severity>SEVERITY_ERROR</tns:severity>
                        <tns:exceptionClassName>java.lang.NullPointerException</tns:exceptionClassName>
                      </tns:detail>
                      <tns:exceptionClassName>oracle.jbo.RowValException</tns:exceptionClassName>
                      <tns:objectName>PartySiteUseEO</tns:objectName>
                  </tns:detail>
                  <tns:detail xsi:type="tns:ServiceRowValErrorMessage">
                      <tns:code>27024</tns:code>
                      <tns:message>JBO-27024: Failed to validate a row with key oracle.jbo.Key[300000077245714 ] in PartyUsageAssignmentEO</tns:message>
                      <tns:severity>SEVERITY_ERROR</tns:severity>
                      <tns:detail xsi:type="tns:ServiceErrorMessage">
                        <tns:severity>SEVERITY_ERROR</tns:severity>
                        <tns:exceptionClassName>java.lang.NullPointerException</tns:exceptionClassName>
                      </tns:detail>
                      <tns:exceptionClassName>oracle.jbo.RowValException</tns:exceptionClassName>
                      <tns:objectName>PartyUsageAssignmentEO</tns:objectName>
                  </tns:detail>
                  <tns:exceptionClassName>oracle.jbo.TxnValException</tns:exceptionClassName>
                </tns:ServiceErrorMessage>
            </detail>
          </env:Fault>
      </env:Body>
    </env:Envelope>
    Is there a way to see this error response when invoking the WS via a Java client-proxy?

  • Set timeout for dynamic web service call in wls

    Hi,
    I have a dynamic client using Call interface to invoke 3rd party web service. How can I set the timeout for the call? I know there is a property to set for static client.
    Thanks

    Have you checked out the stub properties:
    weblogic.wsee.transport.connection.timeout
    weblogic.wsee.transport.read.timeout
    http://edocs.beasys.com/wls/docs92/webserv/client.html#wp228628

  • Parsley Dynamic Command & Dynamic Object for Soap web services

    Hi,
        <fx:Declarations>
            <s:CallResponder id="getSearchEngineForReferencePageResult"/>
            <lawpadcommunicationservicesport:LawPadCommunicationServicesPort id="lawPadCommunicationServicesPort"
                                                                             result="lawPadCommunicationServicesPort_resultHandler(event)"       
                                                                             fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)" showBusyCursor="true"/>
            <s:CallResponder id="getBasePathForFileDownLoadResult"/>
            <lawpadcommunicationservicesport:LawPadCommunicationServicesPort id="RefLawPadCommunicationServiceGetBasePath"
                                                                             result="RefLawPadCommunicationServiceGetBasePath_resultHandler(event)"
                                                                             fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)" showBusyCursor="true"/>
            <s:CallResponder id="getXmlPathLinkResult"/>
            <xmlpathcommunicationport:XmlPathCommunicationPort id="xmlPathCommunicationPort"
                                                               fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)" showBusyCursor="true"/>
        </fx:Declarations>

    Hi,
    I am new to Parsley.....
    Can u refer me some link to understand all features of Parsley.
    Mainly Dynamic Command and object for soap web services....
    I am in confused state with the usage of dynamic command and object for Soap web services.
    <fx:Declarations>
            <s:CallResponder id="getSearchEngineForReferencePageResult"/>
            <lawpadcommunicationservicesport:LawPadCommunicationServicesPort id="lawPadCommunicationServicesPort"
                                                                               result="lawPadCommunicationServicesPort_resultHandler(event)"        
                                                                               fault="Alert.show(event.fault.faultString + '\n' +  event.fault.faultDetail)" showBusyCursor="true"/>
            <s:CallResponder id="getBasePathForFileDownLoadResult"/>
            <lawpadcommunicationservicesport:LawPadCommunicationServicesPort id="RefLawPadCommunicationServiceGetBasePath"
                                                                                result="RefLawPadCommunicationServiceGetBasePath_resultHandler(event) "
                                                                               fault="Alert.show(event.fault.faultString + '\n' +  event.fault.faultDetail)" showBusyCursor="true"/>
            <s:CallResponder id="getXmlPathLinkResult"/>
            <xmlpathcommunicationport:XmlPathCommunicationPort id="xmlPathCommunicationPort"
                                                                fault="Alert.show(event.fault.faultString + '\n' +  event.fault.faultDetail)" showBusyCursor="true"/>
      </fx:Declarations>
    Thanks & Regards

  • The Proper way to go - Passing Serialized Java Objects vs. Web Services?

    The team which I am apart of in our little "community" is trying to convince some "others" (management) that we should not use web services to communicate (move large data) within the same application (allbeit a huge application spanning across many servers).
    Furthermore these "others" are trying to tell us that in this same application when two small apps. inside of this large app. are both java we should not communicate via serialized java objects but instead we should use Web Services and XML. We are trying to convince them that the simplest way is best.
    They have asked us to provide them with proof that passing serialized java objects back and forth between two smaller java applications inside of a larger one is an Industry Standard. Can anyone help either straighten my fellow workers and I out or help us convince the "others" of the proper way to go?

    When I was a consultant we always gave the client what they wanted. Even if it was the wrong choice. Suck it up.
    I'm glad I wasn't one of those customers. Although I agree that a customer is the one who decides what to do, when I pay someone for consultancy, I expect them to consult me. If they know I'm trying to do something that I shouldn't be doing, I expect a good consultant to be able to show me that there's a better way (not just tell me I'm not doing it right, mind you).
    We pass a lot of data using XML and we don't have any transmission or processing speed issues.
    Then you either have a much better network than our customer did, or we're not talking about the same amounts of data here.
    I used the JAX-RPC RI ...
    That's cool... our customer was, unfortunately, infected with Borland products, so we had to use BES. The web services on BES were run by Axis.
    How large were these messages?
    Huge... each element had about 15 attributes, so 1,200 elements would require 19,200 XML nodes (envelope not included). By comparison, the serialized messages weren't even a quarter that size. It's not just about what you send across the network; it's also the effort of parsing XML compared to desrializing Java objects. Our web service wasn't exactly the only process running at the server.
    Anyone who understand the fundamental difference between ASCII (XML) and binary (serialized) formats realizes that no web service can possibly achieve the performance of binary Java services. Why do you think that work is being put into binary web services? I'm not saying XML is never a good thing; just that it's not The Holy Grail that a lot of people are making it look like.
    http://issues.apache.org/jira/browse/AXIS-688
    Ouch.

  • Web service call problem with complex types input

    We are trying to call a web service and pass as parameter
    some complex types. When invoking the web service everything works
    well on flex side, but on the server side the input parameters we
    get from flex are not correct - complex type is removed and the
    elements of the complex type are sent. See the example:
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="
    http://www.adobe.com/2006/mxml"
    layout="absolute">
    <mx:WebService id="ws_id" wsdl="link" useProxy="false"
    fault="wsFault(event)">
    <mx:operation id="op_id" name="op"
    result="wsResult(event)">
    <mx:request>
    <parameters>
    <parameter1>{value1}</parameter1>
    <parameter2>{value2}</parameter2>
    <parameter3>{value3}</parameter3>
    <parameter4>
    <parameter4_1>{value4_1}</parameter4_1>
    <parameter4_2>{value4_2}</parameter4_2>
    <parameter4_3>{value4_3}</parameter4_3>
    </parameter4>
    </parameters>
    </mx:request>
    </mx:operation>
    </mx:WebService>
    </mx:Application>
    on server side we get this:
    <parameters>
    <parameter1>{value1}</parameter1>
    <parameter2>{value2}</parameter2>
    <parameter3>{value3}</parameter3>
    <parameter4_1>{value4_1}</parameter4_1>
    <parameter4_2>{value4_2}</parameter4_2>
    <parameter4_3>{value4_3}</parameter4_3>
    </parameters>
    Instead of :
    <parameters>
    <parameter1>{value1}</parameter1>
    <parameter2>{value2}</parameter2>
    <parameter3>{value3}</parameter3>
    <parameter4>
    <parameter4_1>{value4_1}</parameter4_1>
    <parameter4_2>{value4_2}</parameter4_2>
    <parameter4_3>{value4_3}</parameter4_3>
    </parameter4>
    </parameters>
    Any idea how is it possible to send complex type as web
    service input from flex ?

    Hi,
    I also have similar type of problem where I need to invoke a Web service with Complex input parameters.
    I followed Susan's blog but I stuck at a point where methos getItem is created.
    Can anyone tell me how to get that method for my requirement.
    If possible can you guys share your solutions here.
    Thanks in advance.

  • Setup dynamic Web Service Data Source

    Hi all,
    is there a way to setup a "dynamic" web service data source like
    WSDL-URL = 'http://${server_ip}:${server_port}/XYZService?wsdl
    and passing in the server_ip and server_port variables from outside upon document rendering?
    As far as we have seen, there is not way to do so - leaving us with a static web service data source configuration that is only able to point to one specific WSDL.
    The use case we have here goes like this:
    1) We have one specific template for a specific document to be rendered.
    2) Depending on the caller, the data source must be different, i.e. the same web service at different endpoint addresses must be called to fetch the right data.
    Any ideas?
    Thanks in advance.
    Best regards,
    Stefan

    Hi Klaus,
    thanks for your reply. We also had that idea with the router web service ;-) But a little more flexibility would be great for us due to our decentralized system landscape.
    Currently, we are in the evaluation phase of BI publisher to replace our local reports (sales documents) with BI Publisher reports having one central instance of BI Publisher and n local store instances all providing a getSalesDocument() web service.
    To be able to call the correct web service, a dynamic config of web service endpoints would be helpful.
    Best regards,
    Stefan

  • Ssl web service call problem

    Hi,
    I have a form that calls a web service on start up in the docReady event.
    This has been working well in one of our development environments where the the web service is on a plain non secure connection.
    However, when we try and make the same web service call using ssl instead, the returned values are not populated in the form. If I run the call twice in a row, it works as usual but this is not an acceptable solution.
    The other web services calls on the form all work as expected. It is just this one being called during the docReady event.
    Has anybody else encountered this problem?
    Thanks,
    Luke

    Hi Luke,
    I had a similar problem and the reason was that the SSL certificate on the server was not valid (without any errors or warnings).
    You might want to first try to access the service from a browser and make sure you don't get any security warnings, if you get any security warnings, Adobe won't be able to call that service.
    Hope this helps.
    Thanks,
    Vikram

  • Return XML document through Web Service?

    Hello,
    Is it possible to return a XML document from a web service?
    For example, I have a Oracle Report that outputs in XML format, is it possible to return that through a web service?
    Any suggestions or pointers will be most appreciated.
    Nilan

    Hi Nilan,
    You can see a simple example here.,on how to pass and receive XML elements as web service params.
    http://otn.oracle.com/sample_code/tech/java/codesnippet/webservices/docservice/content.html
    A tutorial on Using Web Services with Oracle9i Reports
    http://otn.oracle.com/tech/webservices/htdocs/series/reports/content.html
    Regards
    Elango.

  • How to pass class object  as in parameter in call to pl/sql procedure ?

    hi,
    i have to call pl/sql proecedure through java. In pl/sql procedure as "In" parameter i have created "user defined record type" and i am passing class object as "In" parameter in call to pl/sql procedure. but it is giving error.
    so, anyone can please tell me how i can pass class object as "In" parameter in call to pl/sql procedure ?
    its urgent ...
    pls help me...

    793059 wrote:
    I want to pass a cursor to a procedure as IN parameter.You can use the PL/SQL type called sys_refcursor - and open a ref cursor and pass that to the procedure as input parameter.
    Note that the SQL projection of the cursor is unknown at compilation time - and thus cannot be checked. As this checking only happens at run-time, you may get errors attempting to fetch columns from the ref cursor that does not exist in its projection.
    You also need to ask yourself whether this approach is a logical and robust one - it usually is not. The typical cursor processing template in PL/SQL looks as follows:
    begin
      open cursorVariable;
      loop
        fetch cursorVariable bulk collect into bufferVariable limit MAX_ROWS_FETCH;
        for i in 1..bufferVariable.Count
        loop
          MyProcedure( buffer(i) );   --// <-- Pass a row structure to your procedure and not a cursor
        end loop;
        ..etc..
        exit when cursorVariable%not_found;
      end loop;
      close cursorVariable;
    end;

  • Detail; The fault returned when invoking the web service operation

    Hi,
    We are getting below errors from Coldfusion, I am not a coldfusion expert engg. so unable to trace it futher..kindly suggest some move to get this resolve.
    Detail; The fault returned when invoking the web service operation is:<br> <pre>AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server faultSubcode: faultString: java.lang.reflect.UndeclaredThrowableException faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}stackTrace:java.lang.reflect.UndeclaredThrowableException at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:221) at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:128) at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:10 87) at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch( Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(U... ''</pre>
    Message: Cannot perform web service invocation getStudentByNRIC.
    StackTrace: coldfusion.xml.rpc.ServiceProxy$ServiceInvocationException: Cannot perform web service invocation getStudentByNRIC. at coldfusion.xml.rpc.ServiceProxy.invokeImpl(ServiceProxy.java:230) at coldfusion.xml.rpc.ServiceProxy.invoke(ServiceProxy.java:143) at 

    I expected something like:
    http://localhost:8500/opensource/QBWC_Shell.cfc?wsdl
    Apart from that, your code looks right.

Maybe you are looking for

  • Data source issue in RSA7???? urgent plz

    hi experts, unfortunately i have deleted my data source from RSA7, i want to extract new records and push to BI. but its deleted. what is the procedure to make my data source available... my update method is QUEUED DELTA.. plz provide me the solution

  • Bridge CC Tools - Photoshop - Batch does not work in Photoshop CC 2014.

    in Bridge CC Tools - Photoshop - Batch does not work in Photoshop CC 2014. At first I didn't even see the option but I reinstalled Photoshop CC and now I see the menu option but when I try it there is a message that I need to use Photoshop CC. So I o

  • Opening an Image in Photoshop on Another Machine

    I have a weird workflow issue. I'd like to be able to send a file so that it opened in Photoshop on another machine and then, when saved, would be returned to the Aperture database. I figured out a way to open the file remotely using smart folders an

  • I'm thinking of selling my iTouch to a friend

    I am thinking of selling my 32 Gig iTouch to a friend and I have a couple of questions. 1 - Since she may become the new owner of the device, is there a way her information can be entered to show Apple that she is now the owner if and when the transa

  • Nice new display for the email!

    Thank you Verizon for providing this nice update!  It's definitely sleeker looking and very convenient , listing all 7 of  my options like email and billing and so forth in the lefthand margin while still showing my list of emails upfront.