Return type Web Service

Hello,
I have a web service created in Java:
@WebMethod
public Vector<Data> getData();
This is how I am connecting to the web service:
public function connectWS():void{
     var cr:CallResponder = new CallResponder();
     cr.addEventListener(ResultEvent.RESULT, connectWSResult);
     cr.token = myWebService.getData();
My vect variable above does not provide me with the correct Data object. vect is assigned null. How ever if I have:
public function connectWSResult(event:ResultEvent);void{
     var arrCollect:ArrayCollection = event.result as ArrayCollection;
arrCollection gives me correct value of Data object.
I want the webService to return me a Vector. How can I go about that?
-H

If I understand you correctly (do not see a 'vect' variable anywhere), the web service is working perfectly.  The getData() function is non-blocking and does not "wait" for the response from the web service.  This is why you need to add an event listener, to listen for the "result" event.  When the reply comes in, the listener triggers the handler (connectWsResult) which you appear to have defined correctly.
So I'm not sure what the problem is if you say the handler is returning the correct data.  Am I missing something?

Similar Messages

  • Need help with DOC type web service

    hi,
    I am trying to write a simple message style ( doc type ) web service but no success so far. I have tried to search for examples but no use. I already implemented some simple RPC style web services like calculator etc and able to use them. I am more interested in the DOC type ( which sends SOAP message and receives SOAP message back). Can Anybody give me an example for implementing this type of service ( very-simple say HellowWorld ) or point me to some website . I am not able to generate the response envelope. I can write the client program which will send a SOAP Envelope to this services with one parameter NAME and the services should return Hello Name but in a SOAP envelope form. I can create a SOAP message in this Client using SOAPConnection and MessageFactory etc. Your help will be really appreciated. There is very little stuff about webservices on the internet as well on this forum.
    Thanks
    Vinod

    Hello kwilding2,
    Thanks for the quick response and pointing to some useful websites. I downloaded the code from web service essentials BUT all the examples are using SOAP RPC calls. They create a call object and call one of the service methods and a response is returned. I am little confused about this stuff. I am looking for something which returns the response in a SOAP envelope for which i think i need to use JAXM API which I already have downloaded. I have created a client which composes a SOAP envelope using SOAPConnection and other MessageFactory classes etc and can send this SOAP envelope to a web service. In return I want the web service to give the SOAP envelope.
    I have gone thru xmethods.net and picked the following stock quote request and response:
    Sample Request envelope:
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema">
    <SOAP-ENV:Body>
    <ns1:getQuote xmlns:ns1="urn:xmethods-delayed-quotes" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <symbol xsi:type="xsd:string">IBM</symbol>
    </ns1:getQuote>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    Sample Response Envelope:
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema">
    <SOAP-ENV:Body>
    <ns1:getQuoteResponse xmlns:ns1="urn:xmethods-delayed-quotes" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <return xsi:type="xsd:float">133.625</return>
    </ns1:getQuoteResponse>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    I also want the things in this order. This webservice at xmethods just returns the price for a stock, so how they say it returns this Response Envelope. Is this Envelope something implied. I am getting more confused.
    any help will be appreciated.
    Thanks
    Vinod

  • Test Connection fails for VC system of type Web Service

    Hi All
    I ve created a VC system of the type Web Service in Portal. In this VC system, I have given Url of the Enterprise Service that I want to use in VC.
    (for eg: http://erp.esworkplace.sap.com/sap/bc/srt/wsdl/sdef_ECC_SALESORDER002QR/wsdl11/ws_policy/document?sap-client=800)
    In the next step, I did user mapping for the VC user that will be consuming this Enterprise Service.
    The system was created successfully but when I did ‘Connection Tests’ , I got the following exception:
    “Test Details:
    The test consists of the following steps:
    1. Retrieve the default alias of the system
    2. Check the connection to the backend application using the connector defined in this system object
    Results
    Retrieval of default alias successful
    Connection failed. Make sure that Single Sign-On is configured correctly”
    Do I need to do any more configurations before I can use such ES portal system in my VC work studio ?
    I understand that I have provided little information about the exception thrown by Portal.
    I kindly request you to feel free in asking any other details about the same.
    Regards
    Kapil S Kamble

    Hi Natty
    thanks for your immediate reply.
    I followed your instructions and created iView of the type URL and set the fetch mode property to 'server side' as told.
    Initially, I gave 'http://www.sap.com' as the Url and I was successful in opening the site.
    Later, when I gave Enterprise Service url and tried to preview the iView, I got the following exception:
    *'http://erp.esworkplace.sap.com/sap/bc/srt/wsdl/sdef_ECC_SALESORDER002QR/wsdl11/ws_policy/document?sap-client=800
    Error # 401'*
    I ll need to give username and password. But how do i give them as parameters?
    Please note, these parameteres are appended to the Url. So, I fear that if url of Enterprise service is changed, then it wont open.
    what do you think ?
    Kapil

  • Error: Error #2170  Connection Type: Web Service

    Hi all,
    In BO I have changed the external address on DNS say abc.com
    Now when I try to access the dashboard internally it gives the error trying to access xyz.com which was previous external ip.
    The error I get is
    To access external data, add a cross-domain policy file to the external data web server.
    For more information, on the Adobe website, see the article "Cross-domain Policy File Specification".
    If the problem persists, contact the file creator or your system administrator.
    Error: Error #2170
    Connection Type: Web Service
    File URL: http://abc.com...
    External Data URL: http://xyz.com...."

    May be in connections, you have hardcoded the server as xyz.com. It is always advisable to use relative url so that the servername and port is resolved in runtime.
    Also, check in CMC > Applications > Web Service > Properties what is the server name specified ? Is it still the old one ?

  • Urgent: Calling a WebLogic document type Web Service

    We have created an one-way, document type web service that works fine with the
    clientgen client. When sending the same SOAP message to the service from another
    client, it fails with: javax.xml.soap.SOAPException: failed to receive message:
    The other client recieves an HTTP 500.
    The signature for the service method is:
    public void getDiag(Diagnostic diag)
    Diagnostic is a complex type generated by autotype from a schema.
    The failing client builds the SOAP message and sends it to the WebLogic service
    using HttpURLConnection with the request method set to POST and content-type to
    text/xml.

    Is there any error on the server?
    Did the method on the end componet invoked?
    If you are using WLS 8.1, its better to use SAAJ
    instead of plain http url connection. Something like:
    SOAPConnectionFactory factory =
    SOAPConnectionFactory.newInstance();
    SOAPConnection connection =
    factory.createConnection();
    SOAPMessage response =
    connection.call( request, targetURL );
    Here is a working example:
    http://manojc.com/?sample23
    RouterHandler.java
    Regards,
    -manoj
    http://manojc.com
    "Steve Watson" <[email protected]> wrote in message
    news:3ec13eeb$[email protected]..
    >
    We have created an one-way, document type web service that works fine withthe
    clientgen client. When sending the same SOAP message to the service fromanother
    client, it fails with: javax.xml.soap.SOAPException: failed to receivemessage:
    >
    The other client recieves an HTTP 500.
    The signature for the service method is:
    public void getDiag(Diagnostic diag)
    Diagnostic is a complex type generated by autotype from a schema.
    The failing client builds the SOAP message and sends it to the WebLogicservice
    using HttpURLConnection with the request method set to POST andcontent-type to
    text/xml.

  • Do we need the Loadrunner vuser type "web services"?

    We are planning to benchmark XI 3.1 using Load runner scripts.
    Do we need the Loadrunner vuser type "web services" to benchmark XI 3.1 with SAP Portal, Infoview, Xcelsius, Live Office, and QAAWS?
    NOTE: Our customer is using Xcelsius Dashboards against WebIntelligence latest Instances.
    Regards,
    - Gabriel

    Apache is a webserver, Tomcat is a "servlet-container", which it not a webserver. For fast setup, you can develop your Java-web-app with only Tomcat, which saves you the hassle of configuring AJP13 connectors... But they are significantly different....

  • Can objects returned from web services be cast to strongly typed objects?

    Can objects returned from web services be cast to strongly
    typed objects?
    Last I tried this was with one of the beta of Flex2 and it
    did not work. You had to use ObjectProxy or something like that...
    Thanks

    Please post this question in the CRM On Demand Integration Development forum.

  • Complex types returned from web services

    I'm having problems getting values from a complex type from a
    CFC web service. Are there any tutorials that show you how this is
    done? The only tutorials I've seen have been returning simple
    types.
    I have tried everything I know, which is not a lot I must
    admit, I'm just a beginner! *L*
    Thanks in advance.

    I'm having problems getting values from a complex type from a
    CFC web service. Are there any tutorials that show you how this is
    done? The only tutorials I've seen have been returning simple
    types.
    I have tried everything I know, which is not a lot I must
    admit, I'm just a beginner! *L*
    Thanks in advance.

  • How to add User defined return type in service interface of AppModule

    HI All,
    I am creating service interface using AppModule. Added custom method with Java primitives and working fine. Now i want to added custom method with return type is EMP object means user defined object. How can i do so?
    Thanks in advance.

    I looked it up in the mean time ...
    The docs state that you only can use simple data type or java.util.list or AttributeList (which is a wrapper for any viewRow). So I guess you have to somehow flatten your complex data type or create a custom VO which holds it.
    http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/bcextservices.htm#CJAEHFJD
    Scroll down to 11.2.3
    Timo

  • Hard-coding complex type web service parameter

    Hi,
    I am trying to populate a drop-down list with data returned from a web service. The web service requires one parameter, but it is a complex type with many elements. I don't need any user input, I want to set the the parameter values programatically. Is this something that can be done with a web service data control?
    I know that I can edit the action binding and specify a parameter, but I'm not sure how to do this when the parameter is a complex type.
    I hope I am explaining this in a way that makes sense. I am fairly new to both Jdeveloper and web services.
    I am using JDeveloper 11.1.2.0.0
    Thanks.

    Thanks for the link. The article is from 2006 and I was under the impression that there was more support for complex types now. Maybe in my case I am better off using a web service proxy?

  • Print label image in GIF format returned by Web Service XML string.

    Hi All
    I have extremely interesting situations and have been struggling with this for a past week. I have been looking everywhere but nobody seems to have an answer. This is my last resort.
    Detail -
    I am consuming UPS web service from my ABAP program. Everything works fine until I have to print UPS label.  The label image is returned to my ABAP program via XML by the UPS reply transaction as a GIF image.
    When I download this image to my PC I can see it and print it, but for the love of god I cannot print this image from my ABAP program. The GIF image is passed to me as a binary data string it looks like bunch on numbers - (2133FFDGFGFGFHHu2026..) very long string about 89800 bites. I cannot use smart forms since smart form requires to have graphic stored in  SAP before smart form print, so this is not possible. I need help figuring out how print GIF image form ABAP or any other SAP method dynamically.  Any ideas are extremely appreciated. I am just puzzled that I cannot find any info on something like this. I cannot be the first one who needs to print GIF image in SAP.

    Hi all,
    I understand this thread was started long back. But wanted to share this solution since I see the same question in many forums without any particular conclusive answer. So the steps I am explaining here, if it helps in some way, I will be really happy. I won't say this is the perfect solution. But it definitely helps us to print the images. This solution is infact implemented successfully in my client place & works fine.
    And please note there may be  better solutions definitely available in ECC6 or other higher releases. This solution is mainly for lesser versions, for people don't have ADOBE forms or other special classes.
    Important thing here is binary string is converted to postscript here. So you need to make sure your printer supports postscripts. (Ofcourse, if anybody is interested, they can do their R&D on PCL conversion in the same way...and pls let me know). Once the binary data is converted to postscript, we are going to write it in the binary spool. so you will still see junk characters (or numberssss) in spool. But when you print it in postscript printer , it should work.
    First step, assuming you have your binary data ready from tiff or pdf based on your requirement.
    Basically below compress/decompress function modules convert the binary data from lt_bin (structure TBL1024) to target_tab (structure SOLIX). From Raw 1024 to Raw 255
    DATA: aux_tab LIKE soli OCCURS 10. - temp table
    Compress table
                  CALL FUNCTION 'TABLE_COMPRESS'
                    TABLES
                      in             = lt_bin
                      out            = aux_tab
                    EXCEPTIONS
                      compress_error = 1
                      OTHERS         = 2.
    Decompress table
                  CALL FUNCTION 'TABLE_DECOMPRESS'
                    TABLES
                      in                   = aux_tab
                      out                  = target_tab
                    EXCEPTIONS
                      compress_error       = 1
                      table_not_compressed = 2
                      OTHERS               = 3.
    In my case, since I have to get it from archived data using function module, ARCHIV_GET_TABLE which gives RAW 1024, above conversion was necessary.
    Second step: Application server temporary files for tif/postscript files.
    We need two file names here for tif file & for converted postscript file. Please keep in mind, if you are running it in background, user should have authorization to read/write/delete this file.
    Logical file name just to make sure the file name is maintainable. Hard code the file name if you don't want to use logical file name.
                  CALL FUNCTION 'FILE_GET_NAME'
                    EXPORTING
                      logical_filename = 'ABCD'
                      parameter_1      = l_title
                      parameter_2      = sy-datum
                      parameter_3      = sy-uzeit
                    IMPORTING
                      file_name        = lv_file_name_init
                    EXCEPTIONS
                      file_not_found   = 1
                      OTHERS           = 2.
                  IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
                  ENDIF.
    Now concatenate with the different extensions to get two different files.
                  CONCATENATE lv_file_name_init '.tif' INTO lv_file_name_tif.
                  CONCATENATE lv_file_name_init '.ps' INTO  lv_file_name_ps.
    Third step: Write the target_tab to tif file.
    Open dataset for writing the tif file.
                  OPEN DATASET lv_file_name_tif FOR OUTPUT IN BINARY MODE.
                  IF NOT sy-subrc IS INITIAL.
                    RAISE open_failed.
                  ELSE.
                    LOOP AT target_tab INTO w_target_tab.
                      CATCH SYSTEM-EXCEPTIONS dataset_write_error = 1
                                              OTHERS = 4.
                        TRANSFER w_target_tab TO lv_file_name_tif.
                      ENDCATCH.
                      IF NOT sy-subrc IS INITIAL.
                        RAISE write_failed.
                      ENDIF.
                    ENDLOOP.
                    CATCH SYSTEM-EXCEPTIONS dataset_cant_close = 1
                                            OTHERS = 4.
                      CLOSE DATASET lv_file_name_tif.
                    ENDCATCH.
                  ENDIF.
    Fourth Step: Convert the tiff file to postscript file.
    This is the critical step. Create an external command (SM49/SM69) for this conversion. In this example, Z_TIFF2PS is created. Infact, I did get help from our office basis gurus in this. so I don't have the exact code of this unix script. You can refer the below link or may get some help from unix gurus.
    http://linux.about.com/library/cmd/blcmdl1_tiff2ps.htm
    Since my external command needs .ps file name and .tif file name as input, concatenate it & pass it as additional parameter. Command will take care of the conversion & will generate the .ps file.
       CONCATENATE lv_file_name_ps lv_file_name_tif INTO lw_add SEPARATED BY space.
    Call the external command with the file paths.
                  CALL FUNCTION 'SXPG_COMMAND_EXECUTE'
                    EXPORTING
                      commandname           = 'Command name'
                      additional_parameters = lw_add
                    TABLES
                      exec_protocol         = t_comtab.
    Fifth step: Read the converted ps file and convert it to RAW 255.
      DATA:lw_content TYPE xstring.
    Open dataset for reading the postscript (ps) file
                  OPEN DATASET lv_file_name_ps FOR INPUT IN BINARY MODE.
    Check whether the file is opened successfully
                  IF NOT sy-subrc IS INITIAL.
                    RAISE open_failed.
                  ELSE.
                    READ DATASET lv_file_name_ps INTO lw_content.
                  ENDIF.
    Close the dataset
                  CATCH SYSTEM-EXCEPTIONS dataset_cant_close = 1
                                          OTHERS = 4.
                    CLOSE DATASET lv_file_name_ps.
                  ENDCATCH.
    Make sure you delete the temporary files so that you can reuse the same names again & again for next conversions.
                  DELETE DATASET lv_file_name_tif.
                  DELETE DATASET lv_file_name_ps.
    Convert the postscript file to RAW 255
                  REFRESH target_tab.
                  CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
                    EXPORTING
                      buffer     = lw_content
                    TABLES
                      binary_tab = target_tab.
    Sixth step: Write the postscript data to binary spool by passing the correct print parameters.
                  IF NOT target_tab[] IS INITIAL.
                    PERFORM spo_job_open_cust USING l_device
                                                         l_title
                                                         l_handle
                                                         l_spoolid
                                                         lw_nast.
                    LOOP AT target_tab INTO w_target_tab.
                      PERFORM spo_job_write(saplstxw) USING l_handle
                                                            w_target_tab
                                                          l_linewidth.
                    ENDLOOP.
                    PERFORM spo_job_close(saplstxw) USING l_handle
                                                          l_pages.
                    IF sy-subrc EQ 0.
                      MESSAGE i014 WITH
                       'Spools for'(019) lw_final-vbeln
                   'created successfully.Check transaction SP01'(020).
                    ENDIF.
                  ENDIF.
    Please note the parameters when calling function module RSPO_SR_OPEN. Change the print parameters according to your requirement. This is very important.
    FORM spo_job_open_cust USING value(device) LIKE tsp03-padest
                            value(title) LIKE tsp01-rqtitle
                            handle  LIKE sy-tabix
                            spoolid LIKE tsp01-rqident
                            lw_nast TYPE nast.
      DATA: layout LIKE tsp01-rqpaper,
            doctype LIKE tsp01-rqdoctype.
      doctype = 'BIN'.
      layout = 'G_RAW'.
      CALL FUNCTION 'RSPO_SR_OPEN'
          EXPORTING
            dest                   = device "Printer name
        LDEST                  =
            layout                 = layout
        NAME                   =
            suffix1                = 'PDF'
        SUFFIX2                =
        COPIES                 =
         prio                   = '5'
           immediate_print        = 'X'
    immediate_print        = lw_nast-dimme
            auto_delete            = ' '
            titleline              = title
        RECEIVER               =
        DIVISION               =
        AUTHORITY              =
        POSNAME                =
        ACTTIME                =
        LIFETIME               = '8'
            append                 = ' '
            coverpage              = ' '
        CODEPAGE               =
            doctype                = doctype
        ARCHMODE               =
        ARCHPARAMS             =
        TELELAND               =
        TELENUM                =
        TELENUME               =
          IMPORTING
            handle                 = handle
            spoolid                = spoolid
          EXCEPTIONS
            device_missing         = 1
            name_twice             = 2
            no_such_device         = 3
            operation_failed       = 4.
      CASE sy-subrc.
        WHEN 0.
          PERFORM msg_v1(saplstxw) USING 'S'
                           'RSPO_SR_OPEN o.k., Spoolauftrag $'(128)
                           spoolid.
          sy-subrc = 0.
        WHEN 1.
          PERFORM msg_v1(saplstxw)  USING 'E'
                               'RSPO_SR_OPEN Fehler: Gerät fehlt'(129)
                               space.
          sy-subrc = 1.
        WHEN 2.
          PERFORM msg_v1(saplstxw)  USING 'E'
                             'RSPO_SR_OPEN Fehler: Ungültiges Gerät $'(130)
                             device.
          sy-subrc = 1.
        WHEN OTHERS.
          PERFORM msg_v1(saplstxw)  USING 'E'
                               'RSPO_SR_OPEN Fehler: $'(131)
                               sy-subrc.
          sy-subrc = 1.
      ENDCASE.
    ENDFORM.                    "spo_job_open_cust
    Thats it. We are done. If you open the spool, still you will see numbers/junk characters. if you print it in postscript printer, it will be printed correctly. If you try to print it PCL, you will get lot of pages wasted since it will print all junk characters. So please make sure you use postscript printer for this.
    Extra step for mails (if interested):
    Mails should work fine without any extra conversion/external command since it will be opened again using windows. So after the first step (compress & decompress)
    Create attachment notification for each attachment
                  objpack-transf_bin = 'X'.
                  objpack-head_start = 1.
                  objpack-head_num   = 1.
                  objpack-body_start = lv_num + 1.
                  DESCRIBE TABLE  lt_target_tab LINES objpack-body_num.
                  objpack-doc_size   =  objpack-body_num * 255.
                  objpack-body_num = lv_num + objpack-body_num.
                  lv_num = objpack-body_num.
                  objpack-doc_type   =  'TIF'.
                  CONCATENATE 'Attachment_' l_object_id INTO objpack-obj_descr.
                  reclist-receiver = l_email.
                  reclist-rec_type = 'U'.
                  reclist-express = 'X'.
                  APPEND reclist.
                  CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
                    EXPORTING
                      document_data              = docdata
                      put_in_outbox              = 'X'
                      commit_work                = 'X'
                    TABLES
                      packing_list               = objpack
                      contents_txt               = objtxt
                      contents_hex               = target_tab
                      receivers                  = reclist
                    EXCEPTIONS
                      too_many_receivers         = 1
                      document_not_sent          = 2
                      document_type_not_exist    = 3
                      operation_no_authorization = 4
                      parameter_error            = 5
                      x_error                    = 6
                      enqueue_error              = 7
                      OTHERS                     = 8.
                  IF sy-subrc <> 0.
                    RAISE email_not_sent.
                  ENDIF.
                  COMMIT WORK.
    Hope this helps. I am sure this (print/email both) can be improved further by removing some conversions/by using some other methods.Please check & let me know if you have any such suggestions or any other comments.
    Regards,
    Gokul
    Edited by: Gokul R Nair on Nov 16, 2011 2:59 AM</pre>
    Edited by: Gokul R Nair on Nov 16, 2011 3:01 AM
    Edited by: Gokul R Nair on Nov 16, 2011 3:15 AM

  • Complex Types & Web Services

    Portal 7 allows you to create portlets from WSDL files. I have a web
    service that has an interface which returns a org.w3c.dom.Document. The
    portlet wizard won't generate code from this interface since it uses a
    "complex type". Is there any way to allow this type of generation other
    than hand coding all the wsdl_*.java files in the jar file?
    kwc

    JAXB can be used to solve your problem. Rather than trying return your own types directly use JAXB to explain your return types in a schema;
    Example:
    public class MyType {
    int id=-1;
    int noOfObjects=0;
    String something;
    @XmlElement(nillable = true) //Java annotation to return list
    List<String> participant;
    public Interaction() {
    participant= new ArrayList<String>();
    something=�hi�;
    public List<String> get() { return participant; }
    public void set(String newpart) {participant.add(newpart);}
    public String getCrux() { return �OK�; }
    public void setCrux(String something) { this. something = something; }
    @XmlAttribute
    public int getId() { return 0; }
    public void setId(int id) {  }
    @XmlAttribute
    public int getNoOfObjects() { return noOfObjects; }
    public void setNoOfObjects(int id) { this.noOfObjects =noOfObjects; }
    @WebService()
    public class MyService {
    @WebMethod
    public Results MyType (@WebParam(name = "id") String id) {
    return new MyType();
    When defining your own class make sure you have "get" and "set" methods for all types.(JAXB needs this)

  • Unable to retreive the fault message returned by web service

    Hi,
    We are working on Proxy to SOAP synchronous scenario. The WSDL provided by the third party has 3 messages - 1. for request structure, 2. response structure and 3. Error message to track the exceptions, if any.  The interface working fine for positive test cases but we are facing issues when trying to capture the error message returned by the web service.
    We have configured the error message(provided in WSDL) as fault message in our Inbound interface. In the outbound interface, we have configured standard Fault message type provided by XI. we have mapped the two structure.
    Now when error is returned by the web service, we are able to see the blank response structure in the payload in MONI in XI. Also the SOAP Error Message structure is there in XI.
    But when we trying to retrieve the same in our proxy, it is giving the blank structure.
    Please help how to get the error message returned by the web service in proxy....
    Please help..
    Thanks in advance.

    >>>I am getting the error message as the fault message, in the response from the web service.
    >>>Now I want to forward the same message to SAP R/3 system. For this I have configured the standard fault message in the >>>outbound interface and have mapped the same with the web service error message. So if I am not wrong, the transformed >>>>structure according to the rules in message mapping should be sent to SAP R/3 system. But I am unable to see the result >>>>of this mapping in XI MONI. Neither is this passed to Client proxy.
    You are consuming the third party webservice. Third party webservice WSDL has request, response and fault message. if the third party application logic capture the exception and pass the response as fault mesg, then the above specified target fault mesg mapping with your Standard fault message mapping will be sent to sender or client proxy.
    Suggestions:
    Having fault message in WSDL does not mean that target system sends fault message during application exception. Check in the SXMB_MONI whether your response during exception is occuring in the fault message structure publised as WSDL. If not then doing mapping will not help. It gives only blank.
    If you notice response in fault message structure from third party in SXMB_MONI, then you need to check that at the client proxy side, are you handling/done coding for fault message methods similar to response strucutre for capturing data.
    Hope that helps.

  • The format of XML file returned from web service

    Hi everyone,
    My web service (build in asp.net 2.0 with C#) returns the
    following xml file which is not what I want.
    <Root>
    <Root2>
    <Person> .... </Person>
    <Person> .... </Person>
    <Person> .... </Person>
    </Root2>
    </Root>
    But I want my web service to return the following xml file.
    How can I get the following xml file instead of the above xml file
    ? Thanks.
    <Root>
    <Person> .... </Person>
    <Person> .... </Person>
    <Person> .... </Person>
    </Root>

    Thanks for everyone's reply!
    Sorry, I don't know where to set resultFormat="e4x". Below is
    my code. And LINE 111 gives error. And the error message is below.
    And the xml returned from the web service is below.
    Error: Error #2093: The Proxy class does not implement
    getDescendants. It must be overridden by a subclass.
    at Error$/throwError()
    at flash.utils::Proxy/
    http://www.adobe.com/2006/actionscript/flash/proxy::getDescendants()
    at
    LogIn/loginHandler()[P:\JIMMY-FLEX\Flex_LogIn\LogIn.mxml:58]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at
    mx.rpc::AbstractService/dispatchEvent()[E:\dev\3.0.x\frameworks\projects\rpc\src\mx\rpc\A bstractService.as:232]
    at mx.rpc::AbstractOperation/
    http://www.adobe.com/2006/flex/mx/internal::dispatchRpcEvent()[E:\dev\3.0.x\frameworks\pro jects\rpc\src\mx\rpc\AbstractOperation.as:193
    at mx.rpc::AbstractInvoker/
    http://www.adobe.com/2006/flex/mx/internal::resultHandler()[E:\dev\3.0.x\frameworks\projec ts\rpc\src\mx\rpc\AbstractInvoker.as:191
    at
    mx.rpc::Responder/result()[E:\dev\3.0.x\frameworks\projects\rpc\src\mx\rpc\Responder.as:4 1]
    at
    mx.rpc::AsyncRequest/acknowledge()[E:\dev\3.0.x\frameworks\projects\rpc\src\mx\rpc\AsyncR equest.as:74]
    at
    DirectHTTPMessageResponder/completeHandler()[E:\dev\3.0.x\frameworks\projects\rpc\src\mx\ messaging\channels\DirectHTTPChannel.as:381]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at flash.net::URLLoader/onComplete()
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Canvas xmlns:mx="
    http://www.adobe.com/2006/mxml"
    width="100%" height="100%" xmlns:ns1="*">
    <mx:Script>
    <![CDATA[
    import mx.rpc.events.ResultEvent;
    namespace FaciNS = "
    http://FaciNet.com/";
    import mx.rpc.events.FaultEvent;
    import mx.rpc.events.ResultEvent;
    import mx.rpc.soap.WebService;
    //public var __xmlResult:XML;
    public var ws:WebService;
    public function Log_In(UN:String, PW:String):void
    ws.Login(UN, PW);
    public function getLoginData():void {
    loadWSDL();
    Log_In(UN.text, PW.text);
    public function loadWSDL():void
    ws = new mx.rpc.soap.WebService();
    ws.wsdl = "
    http://localhost:50779/VS2008_LogIn/Service.asmx?wsdl"
    ws.useProxy = false;
    ws.addEventListener("fault", faultHandler);
    ws.addEventListener("result", loginHandler);
    ws.loadWSDL();
    public function loginHandler(e:ResultEvent):void {
    var wkSouID:String = e.result[0]..SouID; // LINE 111
    trace(wkSouID);
    public function faultHandler(event:FaultEvent):void
    dispatchEvent(new Event("Error"));
    public function checkUser(UName:String, PWord:String):void {
    getLoginData();
    ]]>
    </mx:Script>
    <mx:Panel id="loginPanel" horizontalScrollPolicy="off"
    verticalScrollPolicy="off" width="400" height="200" x="97"
    y="66">
    <mx:Form id="loginForm" width="100%" height="100%">
    <mx:FormItem label="Username:" color="red">
    <mx:TextInput id="UN" />
    </mx:FormItem>
    <mx:FormItem label="Password:" color="red">
    <mx:TextInput id="PW"/>
    </mx:FormItem>
    </mx:Form>
    <mx:ControlBar>
    <mx:Spacer width="100%" id="spacer1"/>
    <mx:Button label="Login" id="loginButton"
    click="checkUser(UN.text, PW.text)" />
    </mx:ControlBar>
    </mx:Panel>
    </mx:Canvas>
    <?xml version="1.0" encoding="utf-8" ?>
    - <ArrayOfLogIn xmlns:xsi="
    http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="
    http://www.w3.org/2001/XMLSchema"
    xmlns="
    http://tempuri.org/">
    - <LogIn>
    <SouID>2</SouID>
    <LogInUserID>3</LogInUserID>
    <LogInUserName>samlam</LogInUserName>
    <Password>abc123</Password>
    <DialectID>4</DialectID>
    <CreatedByUserID>5</CreatedByUserID>
    <UpdatedByUserID>5</UpdatedByUserID>
    </LogIn>
    - <LogIn>
    <SouID>3</SouID>
    <LogInUserID>4</LogInUserID>
    <LogInUserName>samlam</LogInUserName>
    <Password>abc123</Password>
    <DialectID>4</DialectID>
    <CreatedByUserID>5</CreatedByUserID>
    <UpdatedByUserID>5</UpdatedByUserID>
    </LogIn>
    </ArrayOfLogIn>

  • JAX-rpx document literal type web services

    I was trying to create a Document centric Web service. I followed all the steps in the document "Patterns and Designs for Building Document based Web Services" available at java.sun.com. I created the XSD's and WSDL files (top down approach). i used the following command of wscompile tool to generate the java source code.
    wscompile -import -d build/classes -keep -s build/src -model build/model.xml.gz
    to publich the web service on a server.
    When the tool generates the code, the parameters for the method are the elements of the schema, instead of being an object, specified in the WSDL.
    // This class was generated by the JAXRPC SI, do not edit.
    // Contents subject to change without notice.
    // JAX-RPC Standard Implementation (1.1.2_01, build R29)
    // Generated source version: 1.1.2
    package com.galaxyplus.tranentry.services;
    public interface IPurchaseOrder extends java.rmi.Remote {
        public com.galaxyplus.tranentry.services.PurchaseOrderStatus acceptPO(com.galaxyplus.tranentry.services.Address billTo, java.util.Calendar createDate, com.galaxyplus.tranentry.services.LineItem[] items, java.lang.String poID, com.galaxyplus.tranentry.services.Address shipTo) throws
             java.rmi.RemoteException;
    }It was supposed to be
    // This class was generated by the JAXRPC SI, do not edit.
    // Contents subject to change without notice.
    // JAX-RPC Standard Implementation (1.1_03, build R65)
    package com.examples.docliteral;
    public interface IPurchaseOrder extends java.rmi.Remote {
        public com.examples.docliteral.PurchaseOrderStatus
             acceptPO(com.examples.docliteral.PurchaseOrder parameters) throws
                 java.rmi.RemoteException;
    }Does any one have any inputs on this. I am using the same example as in the Document.
    Thanks

    More Information
    PurchaseOrder.xsd
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- edited with XMLSpy v2005 sp1 U (http://www.xmlspy.com) by Dan Carnell (Fiserv) -->
    <schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="uri:X" targetNamespace="uri:X">
         <element name="PurchaseOrderDocument" type="tns:PurchaseOrder"/>
         <complexType name="Address">
              <sequence>
                   <element name="street" type="string" nillable="false"/>
                   <element name="city" type="string" nillable="false"/>
                   <element name="state" type="string" nillable="false"/>
                   <element name="zipCode" type="string" nillable="false"/>
              </sequence>
         </complexType>
         <complexType name="LineItem">
              <sequence>
                   <element name="itemname" type="string" nillable="false"/>
                   <element name="price" type="decimal" nillable="false"/>
                   <element name="quantity" type="int" nillable="false"/>
              </sequence>
         </complexType>
         <complexType name="PurchaseOrder">
              <sequence>
                   <element name="billTo" type="tns:Address" nillable="false"/>
                   <element name="createDate" type="dateTime" nillable="false"/>
                   <element name="items" type="tns:LineItem" nillable="false" minOccurs="0" maxOccurs="unbounded"/>
                   <element name="poID" type="string" nillable="false"/>
                   <element name="shipTo" type="tns:Address" nillable="false"/>
              </sequence>
         </complexType>
    </schema>Status.xsd
    <?xml version="1.0" encoding="UTF-8"?>
    <schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="uri:X" targetNamespace="uri:X">
         <element name="Status" type="tns:PurchaseOrderStatus"/>
         <complexType name="PurchaseOrderStatus">
              <sequence>
                   <element name="orderid" type="string" nillable="false"/>
                   <element name="timestamp" type="string" nillable="true"/>
              </sequence>
         </complexType>
    </schema>Abstract.wsdl
    <!-- edited with XMLSpy v2005 sp1 U (http://www.xmlspy.com) by Dan Carnell (Fiserv) -->
    <definitions xmlns:tns="urn:poservice" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="uri:X" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    targetNamespace="urn:poservice" name="POService">
         <types>
              <xs:schema>
                   <xs:import namespace="uri:X" schemaLocation="PurchaseOrder.xsd"/>
                   <xs:import namespace="uri:X" schemaLocation="Status.xsd"/>
              </xs:schema>
         </types>
         <message name="IPurchaseOrder_acceptPO">
              <part name="parameters" element="ns1:PurchaseOrderDocument"/>
         </message>
         <message name="IPurchaseOrder_acceptPOResponse">
              <part name="result" element="ns1:Status"/>
         </message>
         <portType name="IPurchaseOrder">
              <operation name="acceptPO">
                   <input message="tns:IPurchaseOrder_acceptPO"/>
                   <output message="tns:IPurchaseOrder_acceptPOResponse"/>
              </operation>
         </portType>
    </definitions>poservice.wsdl
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions xmlns:tns="urn:poservice"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    targetNamespace="urn:poservice" name="POService">
         <import namespace="urn:poservice" location="Abstract.wsdl"/>
         <binding name="IPurchaseOrderBinding" type="tns:IPurchaseOrder">
              <soap:binding style="document"
                             transport="http://schemas.xmlsoap.org/soap/http"/>
              <operation name="acceptPO">
                   <soap:operation/>
                   <input>
                        <soap:body use="literal"/>
                   </input>
                   <output>
                        <soap:body use="literal"/>
                   </output>
              </operation>
         </binding>
         <service name="POService">
            <port name="IPurchaseOrderPort" binding="tns:IPurchaseOrderBinding">
              <soap:address location="http://127.0.0.1:8080/docliteralfromjava/jaxrpc"/>
            </port>
         </service>
    </definitions>Thanks

Maybe you are looking for