How to use a cascading LOV as a Web Services Consumer?

How to use a cascading LOV as a Web Services Consumer?
We are trying to populate a prompt programmatically.
Our program is a Web Services Consumer.
As an example we use Island Resorts Marketing
The cascading LOV for City is
Country -> Region -> City
The City object is key-aware to the customer table
The query is
Customer | Revenue
(where) City = [prompt]
In order to make the key-awareness work, we must select the value (rowIndex) from the LOV
When we run our program below, the LOV for City is not populated, as expected since we must first select the Country, then the Region.
The code snippet below shows that the LOV for Country is populated. We have no idea how to go from there.
Any hint will be immensely appreciated.
Let us know if anything is unclear in the code.
Source       
RetrieveMustFillInfo retrieveMustFillInfo = RetrieveMustFillInfo.Factory.newInstance();
        RetrievePromptsInfo retrievePromptInfo = RetrievePromptsInfo.Factory.newInstance();
        retrievePromptInfo.setPromptLOVRetrievalMode(PromptLOVRetrievalMode.ALL);
        retrievePromptInfo.setRefreshReturnedLOVs(true);
        retrievePromptInfo.setReturnLOVOnMustFillPrompts(true);
        retrieveMustFillInfo.setRetrievePromptsInfo(retrievePromptInfo);
        // *-- need the "Refresh" action to get the .promptToBeFilled
        Action[] boActions = new Action[1];
        boActions[0] = Refresh.Factory.newInstance();
        try {
            documentInformation = reportEngine.getDocumentInformation(Integer.toString(infoObject.getID()), retrieveMustFillInfo, boActions, null, null);
            m_Token = documentInformation.getDocumentReference();
        } catch (Exception ex) {
            System.out.println(GetWSError(ex));
            return;
        if (documentInformation.getMustFillPrompts()) {
            PromptInfo[] promptInfoS = documentInformation.getPromptInfoArray();
            for (PromptInfo promptInfo : promptInfoS) {
                System.out.println(String.format("Prompt '%1$s', hasLOV=%2$s", promptInfo.getName(), (promptInfo.getHasLOV() ? "Yes" : "No")));
                if (promptInfo.getHasLOV()) {
                    LOV boLOV = promptInfo.getLOV();
                    for (Value boLOVValue : boLOV.getValuesArray()) {
                        System.out.println(String.format(" LOV item '%1$s' RowIndex=%2$s", boLOVValue.getColumnsArray(0), (boLOV.getRowIndexed() ? boLOVValue.getRowIndex() : "")));
                System.out.println("--End LOV");
                PromptInfo[] promptInfoS2 = promptInfo.getPromptToBeFilledArray();
                if (promptInfoS2.length > 0) {
                    PromptInfo promptInfo2 = promptInfoS2[0];
                    System.out.println(String.format(" linked to %1$s", promptInfo2.getName()));
                    if (promptInfo2.getHasLOV()) {
                        LOV boLOV2 = promptInfo2.getLOV();
                        for (Value boLOVValue : boLOV2.getValuesArray()) {
                            System.out.println(String.format(" LOV item '%1$s' RowIndex=%2$s", boLOVValue.getColumnsArray(0), (boLOV2.getRowIndexed() ? boLOVValue.getRowIndex() : "")));
                        System.out.println("--End LOV");
Result
Prompt 'Enter value(s) for City:', hasLOV=Yes
--End LOV
linked to Enter value for Country of origin
LOV item 'Australia' RowIndex=6
LOV item 'France' RowIndex=2
LOV item 'Germany' RowIndex=4
LOV item 'Holland' RowIndex=7
LOV item 'Japan' RowIndex=5
LOV item 'UK' RowIndex=3
LOV item 'US' RowIndex=1
--End LOV

Hi,
Refer SAP Note 1278947. You would require a Service Market Place logon to access this article.
Let me know if this helps.
Regards,
Shreyans Surana

Similar Messages

  • How to use an ABAP exception as a web service fault

    Hi experts,
    I have created a web service out of an ABAP function module, using the SAP standard wizard for web services. The ABAP function has some exceptions defined. Now the question is: How can I "translate" these ABAP function exceptions to web service faults?
    In the WSDL file I can see that the web service defines the faults, but they are not part of the web service operation (in the WSDL file). So when I load the definition into JDeveloper, the faults are not recognized.
    Any ideas what I am missing here?
    Thanks in advance!
    Kind regards, Matthias

    Exceptions from SAP function module are not translated as web service fault message, this is a standard behaviour due among other to the fact that exceptions are not "in line" with the definition a web service fault message.
    Usually when you want to use a standard SAP function module and expose it as web service, you need to "wrap-it" into a new Z function module.
    In that new function module you must capture the exceptions and convert them into a web service fault message structure (usually containing error type, text and number)
    Karim

  • How to use SAP Router String with SAP Web Services

    Hi All,
    I have developed an SAP Web Service and I'm using it from a vb.net dll by using web reference.
    I want to use an SAP Router string when I try to call web service but I don't how to do it.Should the url of my proxy contain this router string in itself or is there any other attribute that I should configure for this purpose?
    Please help!!!
    MERAL
    My code is as in the followings .
    (And my SAP router string is like /H/111.11.111.11/H/)
    Dim srvProxy As New PSUDamacanaProxy4.Z_SDB_RFC_GetList
                srvProxy.Url = s"http://21.11.1.43:8000/sap/bc/soap/rfc"
                srvProxy.Timeout = 10000
                srvProxy.Credentials = New System.Net.NetworkCredential(strUserName, strPassword)
                srvProxy.Z_SDB_RFC_GetList(p_bayi, durum, True, miktar, telefon, expMusteri, expReturnValue, expSiparis, expTeslimat, expAdSoyad)
                musteriAdSoyad = expAdSoyad
                ReturnValue = expReturnValue
                srvProxy.Dispose()
                srvProxy = Nothing

    Since I posted this question, I have abandoned the notion of
    auto-generated web services and embraced the good old FDS concept
    where the RemoteObject meta-tag does all the conversion work for
    me. We are now using the Granite DS package and it is working well
    for us. I would love to consume web services, but it just isn't
    worth the hassle when all you have to do with Granite (and FDS) is
    cast your return objects to the proper object type.
    BTW, since this posting, I have investigated competing Flex
    app frameworks. After my research, I checked out the PureMVC
    framework. Wow!! Cairngorm always left me with an uneasy feeling
    and I guess I am not alone. Apparently, Cliff Hall felt the same
    way. That is why he started the project. I like his approach alot
    more than Cairngorm especially since it includes notifications
    which allow me to broadcast my own app level events independent
    from the AS Event framework. Check out PureMVC. For what it is
    worth, it has my humble endorsement. Cliff was even gracious enough
    to acknowledge the other Adobe Consulting guys for their work. Good
    for you Cliff, I respect that. Check out a better way at
    http://www.puremvc.org/

  • How to use the same element in different Web-Services?

    I have defined a web-services in two WSDL files.
    I want to use the same type in this two services. Because if one service call the other one, it could pass the class it just got. Otherwise, the classes can't be casted.
    Web-Service1:
    public com.package1.State inputValue (com.package1.State state) {
    return state;
    Web-Service2:
    public com.package2.State inputValue (com.package2.State state) {
    return state;
    }And now, If I call from the Service2, the Service1 and put
    Service1.inputValue(com.package2.State state) ;
    I can't do this, can't cast and so on. But I want my tool WSDL2Java, will create the same State.class for two Web-Services, like:
    Web-Service1:
    public com.package3.State inputValue (com.package3.State state) {
    return state;
    Web-Service2:
    public com.package3.State inputValue (com.package3.State state) {
    return state;
    }Is it possible? How to define it in wsdl?
    Thanks in advance.

    You can certainly do this in WSDL, simply put your
    common element in a schema file and "include" it into
    each of your WSDL files. Obviously your element will
    have to use the same namespace in all places.
    I'm not sure whether wsdl2java can cope with
    "include" statements in WSDL. I know plenty of other
    similar tools, e.g. Axis and .Net tools, didn't
    support this however they may have moved on since I
    used them.
    To get around this you have to "manually" include the
    schema in each wsdl for code generation purposes.Thanks for the answer. I did as you said and it works fine.

  • How to use server-side classes in a web service proxy client ?

    Greetings,
    I'm using WebLogic 10.3 with Workshop 10.3 on Windows. I generate a Web Service client in Workshop. There are two options in the New->Others->Web Service category: ClientGen Web Service Client and Web Service Client. I've chosen the second one as it's a JAX-WS Web Service and I think that the first one (ClientGen Web Service is to be used with JAX-RPC Web Services. The proxy is generated but, since the Web Service is using POJOs as parameters, a new version of these POJOs is also generated. For example, my Web Service has an operation like: public OrderStatus putOrder (Order), where OrderStatus and Order are application scoped POJOs. The proxy generation process generates a _PortType class which is supposed to be used by the calling client. This class defines an operation public OrderStatus putOrder(Order), but the OrderStatus and Order classes aren't the original ones but the generated ones. The issue is that these generated classes aren't completely equivalent to the original ones, for examples all lists become arrays, the constructors are different, etc. This is extrememly annouying. Is there any option to say to the proxy generation process to keep with the server-side classes ?
    many thanks in advance for any help.
    Nicolas

    The only solution to this problem seems to be using dynamic proxies. But it doesn't work neither as the following code:
    Service service = Service.create(new URL("http://localhost:7001/OrderServiceProject/OrderService?WSDL"),
    new QName("http://www.simplex_software.fr/demo/services", "OrderService"));
    OrderService orderService = service.getPort(new QName("http://www.simplex_software.fr/demo/services", "OrderServicePort"), OrderService.class);
    raises the following exception:
    16 déc. 2009 19:55:51 com.sun.xml.internal.ws.model.RuntimeModeler getRequestWrapperClass
    INFO: Dynamically creating request wrapper Class fr.simplex_software.demo.services.jaxws.PutOrder
    16 déc. 2009 19:55:51 com.sun.xml.internal.ws.model.RuntimeModeler getResponseWrapperClass
    INFO: Dynamically creating response wrapper bean Class fr.simplex_software.demo.services.jaxws.PutOrderResponse
    16 déc. 2009 19:55:51 com.sun.xml.internal.ws.model.RuntimeModeler getRequestWrapperClass
    INFO: Dynamically creating request wrapper Class fr.simplex_software.demo.services.jaxws.GetOrderStatus
    16 déc. 2009 19:55:51 com.sun.xml.internal.ws.model.RuntimeModeler getResponseWrapperClass
    INFO: Dynamically creating response wrapper bean Class fr.simplex_software.demo.services.jaxws.GetOrderStatusResponse
    Exception in thread "main" java.lang.IllegalArgumentException: fr.simplex_software.demo.services.OrderService is not an interface
         at java.lang.reflect.Proxy.getProxyClass(Proxy.java:362)
         at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581)
         at com.sun.xml.internal.ws.client.WSServiceDelegate.createEndpointIFBaseProxy(WSServiceDelegate.java:630)
         at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:331)
         at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:313)
         at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:295)
         at javax.xml.ws.Service.getPort(Service.java:92)
         at fr.simplex_software.demo.client.OrderServiceClient.main(OrderServiceClient.java:23)
    As a matter of fact, fr.simplex_software.demo.services.OrderService is not an interface but, nevertheless, it's a SEI and it was generated as it is by the IDE Web Service wizard. Big, big confusion ! Of course, this sample works perfectly with Metro, in NetBeans using Glassfish.

  • How to use XML bean in 9.1 web service.

    hi,
    im trying to deploy a small web service with only one method in WLS 9.1.
    That method accepts an XMLbean as the input parameter and returns the same type of xmlBean as the output.
    how can i specify the name of corresponding .xsd file in the ant script.
    the source code of web service file is given below.
    Please have a look at it and help me.
    package com.test;
    import javax.jws.WebService;
    import com.mlt.eai.login.LoginDocument;
    import java.util.Date;
    @WebService(name="LoginServiceType", serviceName="LoginService")
    public class LoginServiceImpl
    static final long serialVersionUID = 1L;
    public LoginDocument userAuthentication(LoginDocument lInfo)
    Dealer dealer =
    new Dealer(lInfo.getLogin().
    getRequest().getInputData().getLoginID(), lInfo.getLogin().getRequest().getInputData().getPassoword(), new Date());
    if(dealer.doIFSAuthentication()){
    lInfo.getLogin().getResponse().getResult().setReturnCode(1);
    lInfo.getLogin().getResponse().getResult().setReturnMessage("Session Started");
    else{
    lInfo.getLogin().getResponse().getResult().setReturnCode(0);
    lInfo.getLogin().getResponse().getResult().setReturnMessage("Invalid username / password");
    return lInfo;
    thanks
    -Binu

    Can anyone help me with this XPath query
    I get result [title: null]
    import java.io.*;
    import javax.xml.parsers.*;
    import org.xml.sax.*;
    import org.w3c.dom.*;
    import org.jaxen.*;
    import org.jaxen.dom.*;
    import org.jaxen.saxpath.*;
    import java.util.*;
    public class TestX {
         public void ggg() {
              try {
                   File f = new File("journal.xml");
                   DocumentBuilder docBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
                   org.w3c.dom.Document doc = docBuilder.parse(f);
                   XPath xpath = new DOMXPath( "/journal/article/title" );
                   List result = (List) xpath.evaluate(doc);
                   System.out.println(result.get(0));
              } catch (Exception e) {
                       e.printStackTrace();
         public static void main(String[] args) {
              TestX tx = new TestX();
              tx.ggg();
    }journal.xml
    <journal>
        <article id="article.1">
            <title>Art1</title>
            <author>
               <first>Bob</first>
               <last>McWhirter</last>
            </author>
            <text>
            </text>
        </article>
        <article id="article.2">
            <title>Art2</title>
            <author>
               <first>James</first>
               <last>Strachan</last>
            </author>
            <text>
            </text>
        </article>
    </journal>

  • [ALBPM-5.7] - How to use the result of a invoked web service?

    Using PBL I wrote the following piece of code:
    ........some rows........
    request as Ex1_WebServices.Ph.GetSuperiorRequest2
    response as Ex1_WebServices.Ph.GetSuperiorResponse2
    lm as MyPrj.LineManager
    request.alias = "danieas"
    getSuperior PeopleHierarchyNavigatorService
    using getSuperiorRequest = request
    returning response = superiorResponse
    if response is not null then
    lm.firstname = String(response.people.person.firstname)
    lm.lastname = String(response.people.person.lastname)
    else
    logMessage "response is null" using severity = DEBUG
    end
    the service is correctly called and the right answer is received:
    <?xml version="1.0" encoding="utf-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header />
    <SOAP-ENV:Body>
    <tns:people xmlns:tns="http://ws1.example.com">
    <tns:person>
    <tns:deptNumber>1111111111111</tns:deptNumber>
    <tns:unit>16</tns:unit>
    <tns:team>49</tns:team>
    <tns:email>[email protected]</tns:email>
    <tns:firstname>Franz</tns:firstname>
    <tns:lastname>PAGNOTTA</tns:lastname>
    </tns:person>
    </tns:people>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    anyway
    lm.firstname = String(response.people.person.firstname)
    fails reporting the following stacktrace:
    Null reference found in 'response.people'. The expected type was 'ROQ_WebServices.Ph.ListOfPeople'.
    fuego.compiler.NullReferenceException: Null reference found in 'response.people'. The expected type was 'ROQ_WebServices.Ph.ListOfPeople'.
         at fuego.compiler.MemberReference.run(MemberReference.java:553)
         at fuego.compiler.Node.value(Node.java:2279)
    Anybody can help?

    A partial solution
    The real answer is:
    <?xml version="1.0" encoding="utf-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header />
    <SOAP-ENV:Body>
    <ns1:people xmlns:ns1="http://ws1.example.com">
    <ns1:person>
    <ns1:deptNumber>1111111111111</ns1:deptNumber>
    <ns1:unit>16</ns1:unit>
    <ns1:team>49</ns1:team>
    <ns1:email>[email protected]</ns1:email>
    <ns1:firstname>Franz</ns1:firstname>
    <ns1:lastname>PAGNOTTA</ns1:lastname>
    </ns1:person>
    </ns1:people>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    instead of
    <?xml version="1.0" encoding="utf-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Header />
    <SOAP-ENV:Body>
    <tns:people xmlns:tns="http://ws1.example.com">
    <tns:person>
    <tns:deptNumber>1111111111111</tns:deptNumber>
    <tns:unit>16</tns:unit>
    <tns:team>49</tns:team>
    <tns:email>[email protected]</tns:email>
    <tns:firstname>Franz</tns:firstname>
    <tns:lastname>PAGNOTTA</tns:lastname>
    </tns:person>
    </tns:people>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    that is there is ns1 instead of tns as name prefix (I see it by the debugger).
    To get out a string, for example the lastname, an Xpath expression can be used:
    "/ns1:people/ns1:person/ns1:lastname"
    that put into BPL becomes:
    selectString(response, xpath : "/ns1:people/ns1:person/ns1:lastname")
    but to write this code I can only figure out that BPM substituted tns with ns1 in other words noone garantee that the prefix will be always ns1.
    Is there a way to get it out by a program?

  • How to use the set functions effectively in webi ,please let me know with detail

    how to use the set functions effectively in webi ,please let me know with detail

    Hi,
    we use use set functions on heirarchies with aggregate functions mostly .
    If you include member_set, Min returns the minimum value of the aggregated data for all members in the member set.
    Member_set can include multiple sets separated by semicolons (;).
    The list of member sets must be enclosed in {}.
    If the member set expression does not specify a precise member or node, the hierarchy referenced must be present in the table, then the member set expression references the current member in the hierarchy in the table. If the hierarchy is not in the table, the function returns the message #MULTIVALUE.
    Eg .
    1)     Ancestor
    =Sum([YTD] ; {Ancestor([Test Hierarchy];2)})
    2)     IsLeaf
    =[Test Hierarchy].IsLeaf
    You can use this function when you want to show your Measure only at lower level .
    3)     .Depth
    =[Test Hierarchy].Depth
    This is also function used with hierarchy to find Level of Members .
    Follow this link for PDF reference .
    Page 147
    https://www.google.co.in/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&ved=0CDIQFjAB&url=https%3A%2F%2Fhelp.sap.com%2Fbusinessobject%2Fproduct_guides%2Fboexir4%2Fen%2Fxi4sp5_ffc_en.pdf&ei=nBAUU-iUM4WWrAeMuoCoDg&usg=AFQjCNHakXsEjd_yUk2y3lVdibf3PXpEOA&bvm=bv.61965928,d.bmk
    search on SCN this question was discussed before also one those links .
    http://scn.sap.com/thread/3183380
    Hope this will help you .

  • How to use web service consumer as a source to connect to Salesforce?

    I see a lot of articles and mapping xmls on how to use web service consumer but as a newbie I am not able to view the object schema from my salesforce enterprise WSDL after importing it in Informatica designer as a source. My enterprise wsdl has operations like create, retrieve, upsert, delete etc so if I want to read data from account then could someone guide me on how to use the web service consumer to view the fields after importing the wsdl.  After importing the wsdl and selecting the operation say create, the columns (ports) displayed shows different groups but it doesn't list the object fields? what am I missing here? And what is the operation to read data from Salesforce is it "retrieve" from the entripse wsdl? As a newbie on this, I appreciate any inputs on this topic.

    Magazinweg 7Taucherstraße 10Taucherstraße 10Av. Copacabana, 267Strada Provinciale 124Fauntleroy CircusAv. dos Lusíadas, 23Rua da Panificadora, 12Av. Inês de Castro, 414Avda. Azteca 123 I have the source table like this and i want to replace the character and sum up the numbers and how can i do it, I replace the character by reg_replace() function but I am not able to add the number because it is of not fixed length. My Output should be,71115705396

  • How to keep multiple function modules under one Web service

    Hi Experts,
    I have Three RFC function modules and i need to create one web service for these three RFC function modules. I know How to crearte a web service for one function module.
    please suggest me How to keep multiple function modules under one Web service.
    Thanks in advance
    Lakshminarayana

    Hi Lakshmi,
    The best way to do it is to assign all the three RFC Enabled FM's to one function group. Later on the top menu in Utilities you get an option to Create a Webservice from a Function Group.
    You can create one single Webservice using all the the 3 FM's.
    I hope this helps.
    Thanks,
    Manu

  • How to save my photo library in a web service.

    Hello:
    In first place sorry for my poor english...
    I would like to know how to secure my photo library in a web service. I have 100gb free with my internet provider and i would like to use it. The problem is that i don´t know wich is the folder that i have to duplicate in the web and where to find it.
    I´ve been looking in the apple help services but i only find help for mobile me or time machine.
    Thanks in advance...

    If you want to back up your Library to the Web then you need to back up the iPhoto Library in your Pictures Folder.
    However, many people complain that it can take days for the upload - and in the event of a problem - download to restore.
    Regards
    TD

  • How to send the SOAP Fault Message to the Web Service Consumer

    Hi,
    I have configured SAOP  to Proxy Syncronous Scenario in PI 7.1 and using XML Validation  in Adapter Engine to Validate the Structure of the Message Payload.The scenario is working fine.When some of the Filed's Length  increses the maxLength specified in the Data Type . We are getting the Following error.
    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
       <SOAP:Body>
          <SOAP:Fault>
             <faultcode>SOAP:Server</faultcode>
             <faultstring>Server Error</faultstring>
             <detail>
                <s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
                   <context>XIAdapter</context>
                   <code>ADAPTER.JAVA_EXCEPTION</code>
                   <text>com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.engine.interfaces.messaging.api.exception.MessageFormatException: XML Validation for payload with root element name MT_Out_CustomerMaster_FPMReq , target namespace http://Pegasystems.com/I06_Customers Failed!Errors Encountered During Parsing
    1.cvc-maxLength-valid: Value '123456789' with length = '9' is not facet-valid with respect to maxLength '8' for type 'null'.
    2.cvc-type.3.1.3: The value '123456789' of element 'CompanyCode' is not valid.
    3.cvc-maxLength-valid: Value 'asdf' with length = '4' is not facet-valid with respect to maxLength '1' for type 'null'.
    4.cvc-type.3.1.3: The value 'asdf' of element 'OperationType' is not valid.
         at com.sap.aii.adapter.soap.ejb.XISOAPAdapterBean.process(XISOAPAdapterBean.java:1164)
    My question is How does the Web Service Consumer can handle this Soap Server Error in the SOAP Fault.Or How can we provide a specific information like  'The value '123456789' of element 'CompanyCode' is not valid.It exceeds the Maximum Length'.
    I read this /people/sap.user72/blog/2006/01/16/xi-propagation-of-meaningful-error-information-to-soap-client blog .Where it is mentioned that the Web Service Consumer can handle while calling the Web Service.Is there any other solution?
    Kindly appreciate your help.

    Thank You Stefan for your kind reply.
    So  you mean to say if we use the XML Validation .we cannot provide proper error information to the calling Web Service Consumer .And While calling a Web Service they cannot Extract the Exact Message in the Text Filed(<text>) present under the Detail Element (<detail>) in the <SOAP:Fault> node. as
    <text>com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.engine.interfaces.messaging.api.exception.MessageFormatException: XML Validation for payload with root element name MT_Out_CustomerMaster_FPMReq , target namespace http://Pegasystems.com/I06_Customers Failed!Errors Encountered During Parsing
    1.cvc-maxLength-valid: Value '123456789' with length = '9' is not facet-valid with respect to maxLength '8' for type 'null'.
    2.cvc-type.3.1.3: The value '123456789' of element 'CompanyCode' is not valid.**
    3.cvc-maxLength-valid: Value 'asdf' with length = '4' is not facet-valid with respect to maxLength '1' for type 'null'.
    4.cvc-type.3.1.3: The value 'asdf' of element 'OperationType' is not valid.
    That is why we have to use the Fault messages and  Field Lengths has to be Validated  in the Server proxy.
    Please Correct me If I am wrong.

  • How to import *.pfx for 2 way SSL Web Service?

    Hello,
    We are trying to create web service consumer where 2 way SSL is needed.
    We have exp_pfx_cert.pfx certificate. As far as we know there is need to convert it to PSE and then import in STRUST. Next steps like RFC, service consumer should be as usually.
    PFX -> PSE
    We tried to use sapgenpse but there was error like in attached image.
    ROOT CA certificate is in another text file.
    How to import this pfx + ROOT CA into SAP STRUST ?

    In smicm i have:
    *** WARNING => Connection request from (30/4018/1) to host: xxx.xxx.xxx.xxx, service: 443 failed (NIECONN_REFUSED
    RM-T30, U4018, 800 XXXXXXX, T61, 20:56:44, M1, W3, SM59, 2/2 {00010018} [icxxconn_mt.c 2222]
    Maybe this is firewall issue...
    We will use many certificates for one destination webserwice to log in so I think we will have to create the same amount of client identities and SM59 connections as certificates.
    Do we have to create client identity in special way (like there: http://scn.sap.com/people/jens.gleichmann/blog/2008/10/31/calling-webservices-from-abap-via-httpsssl-with-pfx-certificates  using PSE) or just "Create" and leave default values?

  • Using JAX-RPC handlers to proxy web service traffic

    Hi,
    I want to use JAX-RPC handlers to proxy web service traffic. In some instances the handler should modifiy / verify the message before forwarding the request to the remote web service end-point. Hence, the handler should forward the call by invoking the remote web service. In some cases the result from invoking the remove service should be post-processed by another proxy handler. To ensure that the result from invoking the remote service is available for post-processing I assume that the handler invoking the remote service must add the response message to the message context ( e g setProperty method) in the handler. Is this correctly understood?
    I would like to understand that this is a technically feasible and reasonable approach of using JAX-RPC. I'd really appreciate some feedback here.
    Many thanks,
    Tom

    Hi Eric,
    Thanks for your response. we are trying to access WSRR( manages end point urls for 7 different environments) and generate the end point dynamically at the design time. As we figured out WSRR is not compatible with OSB we are trying to implement these client side (OSB Proxy service) handlers which would get the dynamic endpoint depending on the environment used. I was able to create the handlers for this and set the jar in the classpath but the client service which should be using these handlers have to have these handlers defined in the deployment descriptor(web.xml) which am unable to see with a OSB project.
    Will there be a deployment descriptor(web.xml/webservices.xml) associated with Proxy services on OSB? Or Is there any other way to add custom JAX-RPC Handlers to a proxy service? Or is there any way to connect to WSRR directly?
    Thanks,
    Swetha

  • How to code Java client for a Java Web Service

    Hi,
    I have a modest knowledge on Java and new to Web Services. I have create a web service using JDeveloper as detailed at the URL http://www.oracle.com/webfolder/technetwork/tutorials/obe/jdev/obe1013jdev/10131/devdepandmanagingws/devdepandmanagingws.htm
    In my Web Service, I have one GetSum java class, which has a method addSum(int x, int y) and this method returns the sum of x and y. I am able to successfully test the addSum method in the web service via the end point. However, I would want to use the addSum() method of the web service in a stand alone java class. For this I have used the wsimport utility and the WSDL of the webservice, from which I have got the following java classes.
    AddSum.class
    AddSumResponse.class
    GetSumWS.class
    GetSumWS_Service.class
    ObjectFactory.class
    package-info.class
    I have packed all the above class into a jar file.
    I have tried many options provided in various websites, but am not able to get this resolved. I am pasting the WSDL for any reference
    <?xml version="1.0" encoding="UTF-8" ?>
    - <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://FirstWS.com/" name="GetSumWS" targetNamespace="http://FirstWS.com/">
    - <types>
    - <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://FirstWS.com/" elementFormDefault="qualified">
    <element name="addSum" type="tns:addSum" />
    - <complexType name="addSum">
    - <sequence>
    <element name="x" type="int" />
    <element name="y" type="int" />
    </sequence>
    </complexType>
    <element name="addSumResponse" type="tns:addSumResponse" />
    - <complexType name="addSumResponse">
    - <sequence>
    <element name="return" type="int" />
    </sequence>
    </complexType>
    </schema>
    </types>
    - <message name="GetSumWS_addSum">
    <part name="parameters" element="tns:addSum" />
    </message>
    - <message name="GetSumWS_addSumResponse">
    <part name="parameters" element="tns:addSumResponse" />
    </message>
    - <portType name="GetSumWS">
    - <operation name="addSum">
    <input message="tns:GetSumWS_addSum" />
    <output message="tns:GetSumWS_addSumResponse" />
    </operation>
    </portType>
    - <binding name="GetSumWSSoapHttp" type="tns:GetSumWS">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    - <operation name="addSum">
    <soap:operation soapAction="" />
    - <input>
    <soap:body use="literal" />
    </input>
    - <output>
    <soap:body use="literal" />
    </output>
    </operation>
    </binding>
    - <service name="GetSumWS">
    - <port name="GetSumWSSoapHttpPort" binding="tns:GetSumWSSoapHttp">
    <soap:address location="http://akartha.in.ibm.com:8888/suresh/GetSumWSSoapHttpPort" />
    </port>
    </service>
    </definitions>
    Can someone please provide me the code to invoke the addSum() method in a stand alone java class. I would really appreciate the help
    Thanks,
    Suresh

    Hi,
    The following is my code to invoke the addSum() web service method.
    package com.FirstWS;
    import com.firstws.*;
    import com.firstws.GetSumWS_Service;
    import com.firstws.GetSumWS;
    import java.rmi.RemoteException;
    public class useWS {
    public static void main (String[] args) {
    GetSumWS port = null;
    try {
    int number1 = 10;
    int number2 = 20;
    port = new GetSumWS_Service().getGetSumWSSoapHttpPort();
    System.out.println ("Invoking addNumbers(%d, %d)\n"+ number1 + number2);
    int result;
    result = port.addSum(number1,number2);
    System.out.printf (
    "The result of adding %d and %d is %d.\n\n",
    number1, number2, result);
    } catch (Exception ex) {
    System.out.println ("Caught Exception: %s\n"+ex);
    But when I compile, I get the following error: "Error(14,20): Service not found in class com.firstws.GetSumWS_Service in class com.FirstWS.useWS"
    Please let me know where I have wrong, and would appreciate if you could correct it.
    Thanks,
    Suresh

Maybe you are looking for