Home » EAI, Web Services

Testing using Siebel Business Service Simulator

22 April 2009 29 Comments

1. Create a new record and give the business service name as the name of Proxy Business Service: CurrencyConvertorSoap, pick its method.

2. In the middle Input applet, click Load From File button to browse the Inputs file [WebService-Inputs.xml] which we created in the above process. This will load input Siebel message. Navigate inside the mvg at Child Type and give the From and To Currency names like USD and INR

Inputs – From and To Conversion Currencies.jpg

Now you need to modify this message a bit, Click the Child Type mvg and modify the Type from ‘SiebelMessage’ to ‘ConversionRateSoapIn:parameters’. You can get this value from our proxy Business Service Method Arguments.

Shows how to give Inputs

Shows how to give Inputs

3. Go to the top list applet and run the Business Service Simulation. You will see the response message in the bottom applet in the Response Property Set: ConversionRateSoapOut:parameters

4. You can navigate inside the Child Type mvg and see the converted rate in the parameter: ConversionRateResult



Thats all for Outbound Web Service Development and Testing. More about Web Services in coming posts….

Random Related Posts


Browse More Post from Same Category

  • Krishna

    Excellent article. Thanks a lot.

  • kunal

    Thank you somuch for this clear tutorial. I really appreciate it.
    I tried it but at the end getting the result as ’0′ instead of the conversionrate. from USD to INR. tried with someother curr types too.. always getting ’0′.
    pls let me know where could be wrong.

    • admin

      Are you sure you are not getting any faulterror message or faulterrorcode in the output(response) hierarchy message.?

      One reason could be that web service is down, at the time you were testing…

  • kunal

    ok.. that cud be one reason.. webservice down.. I’ll give it a try someother time.
    in addition to that, i got one more question,
    in real time how the webservices are invoked. I mean, let’s take the above ex. in siebel where could be the trigger point for this whole process. if it’s a button click on some applet. how does the whole thing will be triggered by click of a button? well, i’m an EAI novice so hope you don’t mind to answer these silly questions.. :).
    thanks in advance. Kunal.

    p.s. I found great info on ur website. please keep it up.

    • admin

      Currently you are creating a Outbound Web Service(OWS), which means it will try to make use of Services available at any third party application, like providing you Currency exchange rates.

      When you import the WSDL in siebel, it creates a Proxy Business service. Proxy means, indirectly you can call a external service, by simply calling the Siebel Proxy service.
      So, now if you are a Siebel Developer, you will be knowing what are ways to invoke a Business Service in siebel, like
      - You can invoke it using Script,
      - Click of a Button – by calling TheApplication().GetService(“asdad”) method
      - Using a workflow to invoke the proxy BS.

      Many ways…hope this helps..

  • kunal

    got it.. once the OWS config is done tested OK, then it’s just like using any other BS.
    that’s clear to me.
    thank you.

    After trying the above scenario on my siebel 7.8. getting this below error..

    - System.InvalidOperationException: There is an error in XML document (1, 349). —> System.InvalidOperationException: Instance validation error: ” is not a valid value for Currency. at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read1_Currency(String s) at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read2_ConversionRate() at Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer.Deserialize(XmlSerializationReader reader) at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events) — End of inner exception stack trace — at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events) at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle) at System.Web.Services.Protocols.SoapServerProtocol.ReadParameters() — End of inner exception stack trace — at System.Web.Services.Protocols.SoapServerProtocol.ReadParameters() at System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()”>

    • http://www.siebelintegration.com/ Vivek

      Yea, I think I have have seen this error “is not a valid value for Currency”. This error is coming from the third party system which is hosting the Web Service, Hence, your Outbound Web Service is working.

      This usually happens with this Web service, when you pass incompatible set of Currency Conversions, which that WS is not supporting.

      Try with simple – INR and USD , JPN and INR, USD and INR

      • Gaurav

        I got the same error as Kunal. I think Kunal and I are not passing the currency value to be converted. We input this in the second applet - Child Type and give the From and To Currency names like USD and INR but where do we input the value – let’s say 50 to be converted from fromCurrency to toCurrency?

  • jitinthebush

    Useful article

  • jitinthebush

    Has really simplified the process..

    • http://www.siebelintegration.com/ Vivek

      Thanks for the response..Do subscribe to the Blog, so as to get updates in your mailbox.

  • nsuram

    Hi Vivek,

    This article is very useful. Now with this article the testing of te web services are very simple and clear.

    I have invoked the web services in siebel Sample database by creating a button on the applet and passing the values for From Currency, To currency and i am able to capture the Conversionrate Result in Siebel.

    I have some doubt on the invoking of the Web Services.I am able to test the webservioces with out any Siebel server componenets . is there any necessry that we need to have a Server to invoke the Web Services.

    • http://www.siebelintegration.com/ Vivek

      Hi Narendar,

      When you are invoking the Outbound Web Service, you don’t need any Server Component. You need a object manager component, which is provided by your siebel.exe in local, and when you test in Web Client environment, it will be handled by Object Manager Server Component.

      For Inbound Web Services, you will need a Object Manager running under Server. You cannot do a live test using local siebel.exe. There are other ways you can test Inbound Web Service locally, but for actual testing with real application , you need server object manager.

      hope it helps…let me know if any further doubts

  • sid

    hi Kunal

    how did u resolved ur problem of getting always ’0′ can pls help me out as I am also getting the same o/p.


  • sid

    hi kunal

    can u pls tell me hw did u resolved tht issue of getting value as ’0′ in all cases.

    I am also facing the same issue pls help.


  • shreya

    Can anyone explain how to invoke outbound webservice

  • Babu Rajendra Prasad

    How to Implement the Secured Outbound Web Services in Siebel 8.0?

    Can anybody share the Information?

    Thanks in Advance

    Babu Rajendra Prasad

  • Mario

    Sorry I don’t understand in the Important Note: , which “ConversionRateSoapIn:parameters’” values are you refering to? I don’t know if you are referring to ToCurrency:USD or something like that.

    Thks for your help.

    • Admin

      actually when you createa OWS using the mentioned wsdl file, it will create a proxy business service. In that proxy service, the inputs will be = “ConversionRateSoapIn:parameters”.

      Now when u generate input empty property sets using PRM ANI Utilities service, you will get SiebelMessage as Type.

      Hence , you need to change the Type of message to – ConversionRateSoapIn:parameters, in the input message generated.
      so, now u can test it ..otherwise it errors, as the input property set is not right.

      • Mario Quiroz

        How can I change the header of SiebelMessage and write ConversionRateSoapIn:parameters ??

  • Haluk

    can u pls tell me hw did u resolved tht issue of getting value as ‘0′ in all cases.

    I am also facing the same issue pls help.

    I call ws but, as if request values are null and it responses null.


    • http://www.siebelintegration.com/ Admin

      when u call the WS from soapUI, you should pass the input two currency rates like USD and INR, then only it will give the conversion rate.

  • Haluk

    Thanks. I have this problem when calling my customer web service.
    WS is called and response is coming from ws. But as if my input values cannot transform to ws.

    I try it with soapUI, it works fine. But in Siebel with business simulator, Response warns me my Input value is not correct.

    Input are IO. And i created it with PRM ANI Utility Service.

    I can not see advance log with my dedicated client. How can I enable logs to get Outbound Dispatcher request and response.

    It is a strange problem.

    maybe problem is WS uses SOAP_DOC_LITERAL. Customer WS does not contain
    soapAction value. It is null.

    Before I use WS with SOAP_RPC_ENCODED and no problem.

    Any Idea??

  • Ajay

    Hi Vivek,
    I am getting the error “HTTP Request error during ‘Submitting Data SendHTTP request’: ‘Status code – 407′(SBL-EAI-04117)”. It seems my company proxy server is stopping me to communicate with the WebServer. I tried even disabling the proxy. How can i provide my credentials to the proxy server so that it allows me to communicate with the web? What are the input parameters needed for providing UserId & Pwd data? Can you/any body help me to resolve the error? I tried searching many portals but couldn’t get any useful information. Thanks in advance.

  • sagar2484

    hi can any plz tel me how can we restrict the user to stop submittng the same form by opening multiple web sessions.

  • http://www.facebook.com/kaspars.kucins Kaspars Kucins

    To those who receive ’0′ as response I suggest try clicking on ‘Run on One Input’ instead of the ‘Run’ button. Might work (worked for me, just for a different Web Service). 

  • RP

    You are a life saver.. Goo one.. May I know whya re u not active nowadays