Search here for wide range of results..
Loading
Home » EAI, Web Services

Testing using Siebel Business Service Simulator

22 April 2009 23 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

IMPORTANT:
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

Outputs

Outputs

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

Read some more similar posts

23 Comments »

  • Krishna said:

    Excellent article. Thanks a lot.

  • kunal said:

    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 (author) said:

    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 said:

    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 (author) said:

    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 said:

    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.
    kunal

    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()”>
    -

  • Vivek (author) said:

    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

  • jitinthebush said:

    Useful article

  • jitinthebush said:

    Has really simplified the process..

  • Vivek (author) said:

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

  • nsuram said:

    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.

  • Vivek (author) said:

    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 said:

    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.

    thanks,
    sid

  • sid said:

    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.

    Thanks,
    Sid

  • shreya said:

    Can anyone explain how to invoke outbound webservice

  • Admin said:

    you have to put ‘https’ instead of ‘http’ in the endpoint url that you define in the outbound web service admin screen..

  • Babu Rajendra Prasad said:

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

    Can anybody share the Information?

    Thanks in Advance

    Babu Rajendra Prasad

  • Admin said:

    Hi Babu.. Here is the link that gives you the header to add to the Webservice request message. You need to put this header in the Request XML being sent via webservice.

    http://siebelintegration.com/index.php/eai/how-to-test-siebel-inbound-web-service/

  • Mario said:

    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 said:

    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.

  • Haluk said:

    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.

    Thanks.

  • Admin (author) said:

    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 said:

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

Leave your response!

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar.


Verify Code   If you cannot see the CheckCode image,please refresh the page again!