WSDL Based Proxy

Hi,
I’m trying to find out the best way offered by OSB to create proxy service.
I know that you can build your proxy service based on a business service, but let’s assume I need to create a WSDL based proxy service that is not based on any business service and delegates the request to the proper business service based on a certain conditions and schema transformation.
My question, what is the best way to create such a WSDL (for the proxy) "for sure without haviing to write the WSDL from scratch my self". or what is the best approach developing the previous scenario.
Thanks

true , the creation of the WSLD is where you should start.
Indeed creating a WSDL 1.1 by hand is a pain in the neck. It's very verbose and redundant. WSDL 2.0 is better but not supported yet by OSB 11g. You could automate the generation of WSDL with a script (I have used Groovy, which has got great support for XML parsing and generation), or using some tools like XMLSpy....
The Eclipse WSDL editor is not too bad anyway AFAIR....

Similar Messages

  • Need some clarification in WSDL based Proxy & Business Services

    Hi,
    Whenever we configure a Proxy service or Business service based on a WSDL, we use to select Port option instead of Binding when selecting our WSDL for the proxy/business service. Now my ques is why we go for a port instead of binding? what is the difference between them?
    My ques may seem very basic but i have this doubt for long time so i am postin this.
    Thanks,
    Arun

    Hi Arun,
    In my opinion that is not such a big deal, and in most of the cases you can choose any of the options...
    I usually prefer port because it keeps the service name... If you are proxying someone else's service it is better to keep it in a way that the service consumer doesn't notice the difference...
    I'm guessing there are cases out there where the service consumer client requires that the binding operations be unchanged... But I've never came across with one of them...
    Hope that clarifies...
    Cheers,
    Vlad

  • WSDL for WSDL based Proxy that does not have any input

    Hi all,
    I am trying to create a service which is based on a db adapter. The db adapter is created using a procecure that does not accept any input and gives out a cursor. I have created a
    proxy based on a wsdl which was created by me. I have not given any soap:body in the input as I dont have any input for this service. When I test the service it is not going into the
    request pipeline instead what ever the input (Here input in the sense even the proxy does not have any input as per the wsdl we need to give some xml tag to test it right?)
    to the proxy service is getting echoed back. It is neither going inside the request pipline nor Invoking the business service. When I create a proxy service as a plain xml then It is
    working fine. I am very confused and donno what to do.. Kindly help me on this.
    thanks
    Edited by: 887737 on Apr 5, 2012 4:20 AM
    Edited by: 887737 on Apr 5, 2012 4:21 AM

    it depends on the selection algorithm you have on the proxyservce
    on the fourth tab you can dispatch based on soapaction/body/header/etc
    you could dispatch on the soapaction and skip the body

  • OSB Email Can't find wsdl for Proxy?

    Hi,
    OSB 11G
    Req: System A will invoke OSB Service and OSB should send an email.
    I have created a Business Service and Proxy Service for Email in OSB like:-
    Business Service:
    1.Selected Service Type as Message Service.
    2. Req Message Type as Text
    3.Select Protocol=Email ad gave End Point URI
    4. Selected SMTP Server .
    Proxy Service
    1. I created XML(for incoming request content in Proxy) and imported in my Proxy and selected http Protocol in Proxy.
    2. In Proxy, I created Route Node. In Route Node, I used Communication->Transport. and set the Transport Headers Subject as $body/ema:Email/ema:subject/text() =expression
    To as $body/ema:Email/ema:to/text() =expression.
    3. I added an action -replace with variable body and expression=$body/ema:Email/ema:content/text().
    Both Business and Proxy are working fine. But I cannot see WSDL for OSB Service? As I want this OSB Service to be called from System A.
    Thanks

    You will not find a WSDL for http type service.
    You have to create your own WSDL and create a WSDL based proxy service.

  • Fire and forget OSB service (wsdl based)

    Hi,
    OSB proxy service message flow comes with request and response pipeline. Thus the OSB service will always be a blocking service. The proxy service based on wsdl having only input parameter will still be blocking call for the client. Is there a way to expose a wsdl based proxy service as one way (fire & forget) ?
    Thanks,
    Viv

    You can do the same using Async WSDL service.
    Or use  the action "Reply with Success" in request pipeline after the flow. which simply means, request has been successfully submitted to OSB proxy.
    e.g.  WSDL> ProxyService> putting in JMS> Reply with Success.

  • OBPM BPM Studio support for SOAP 1.2 based Proxy services (OSB)

    Hi,
    I tried to import proxy services from OSB (as external resource). The proxy service is based on the SOAP 1.2 WSDL standard. When BPM studio introspective SOAP1.2 based proxy services, it is givng the following warninigs. Bacause of this i am unable to create a service object. Please help.
    Regards,
    Pandu
    Introspecting...
    downloading /sbresource?PROXY/RoutingAndMessagingService/proxy/OnRampService
    parsing /sbresource?PROXY/RoutingAndMessagingService/proxy/OnRampService
    [Warning] unknown tag 'header' from 'http://schemas.xmlsoap.org/wsdl/soap12/'.
    [Warning] unknown tag 'header' from 'http://schemas.xmlsoap.org/wsdl/soap12/'.
    checking /sbresource?PROXY/RoutingAndMessagingService/proxy/OnRampService
    parsing http://localhost:7002/sbresource?PROXY%2FRoutingAndMessagingService%2Fproxy%2FOnRampService%3ASCHEMA%2FSchemas%2Finternal%2Fwsdlmessages%2Futilityservices%2Froutingandmessagingservice%2FRoute
    analyzing http://localhost:7002/sbresource?PROXY%2FRoutingAndMessagingService%2Fproxy%2FOnRampService%3ASCHEMA%2FSchemas%2Finternal%2Fwsdlmessages%2Futilityservices%2Froutingandmessagingservice%2FRoute
    parsing http://localhost:7002/sbresource?PROXY%2FRoutingAndMessagingService%2Fproxy%2FOnRampService%3ASCHEMA%2FSchemas%2Finternal%2Fwsdlheaders%2FHeaderSchema
    analyzing http://localhost:7002/sbresource?PROXY%2FRoutingAndMessagingService%2Fproxy%2FOnRampService%3ASCHEMA%2FSchemas%2Finternal%2Fwsdlheaders%2FHeaderSchema
    parsing http://localhost:7002/sbresource?PROXY%2FRoutingAndMessagingService%2Fproxy%2FOnRampService%3ASCHEMA%2FSchemas%2Finternal%2Fwsdltypes%2Fcommon%2FHeaderTypes
    analyzing http://localhost:7002/sbresource?PROXY%2FRoutingAndMessagingService%2Fproxy%2FOnRampService%3ASCHEMA%2FSchemas%2Finternal%2Fwsdltypes%2Fcommon%2FHeaderTypes
    parsing http://localhost:7002/sbresource?PROXY%2FRoutingAndMessagingService%2Fproxy%2FOnRampService%3ASCHEMA%2FSchemas%2Finternal%2Fwsdltypes%2Fcommon%2FSimpleTypes
    analyzing http://localhost:7002/sbresource?PROXY%2FRoutingAndMessagingService%2Fproxy%2FOnRampService%3ASCHEMA%2FSchemas%2Finternal%2Fwsdltypes%2Fcommon%2FSimpleTypes
    http://www.michaelpage.com/wsdltypes/common/SimpleTypesv1.0 compiled
    http://www.michaelpage.com/wsdltypes/common/HeaderTypesv1.0 compiled
    http://www.michaelpage.com/wsdlheaders/Headerv1.0 compiled
    http://www.michaelpage.com/wsdlmessages/utilityservices/Routev1.0 compiled
    [Warning] The binding 'OnRampServiceSOAP' with type 's2:OnRampServicePort'is unsupported. Components will not be generaded for this binding..
    'http://www.michaelpage.com/wsdl/utilityservices/routingandmessagingservice/OnRampServicev1.0/' was parsed.
    Analyzing dependecies for module 'WS.OnRampService'...
    Analyzing dependecies for module 'WS.OnRampService'...
    Analyzing Components
    Storing Instrospected Types
    Introspection completed. Errors: 0, Warnings: 3.

    Pandu,
    OBPM 10g doesn't support SOAP 1.2 binding.
    Edited by: 4dyomi on Nov 20, 2009 11:41 AM
    Edited by: 4dyomi on Nov 20, 2009 11:42 AM

  • How to register non-wsdl based URL in OEG

    How do we register a non-wsdl based URL endpoint in OEG? We had no problem registering a simple WSDL based endpoint on an OEG server. However we cannot find documentation on how to secure/register a RESTful or JSON – URL based service (SOAP, XML over HTTP type service).
    Does this functionality exist? Or are there best practices on what to do with OEG for these types of services?
    Our use case looks like:
    Akamai - - > OEG - -> OSB (WSDL, RESTful, JSON type web services) - -> .Net service (WSDL, RESTful, JSON type web services)

    In case of REST and other non-WSDL type services, there is no SOAP/WSDL based web service like registration process, you'd use OEG as the proxy. You can receive REST based requests at OEG, retrieve parameters (there are convenience filters available for retrieval of attribute values and other types of REST related functions in OEG, as part of the Policy library, "Extract REST Request Attribute", "Validate REST filter", "Create REST Request" etc. - search for REST at the top using Policy Studio, drag it on to canvas and click help for docs on these filters) and do the routing to actual REST end point services. You have the option to receive and use the SOAP message as a basis of generation of the REST url.
    REST to SOAP - http://www.soatothecloud.com/2008/11/how-to-convert-from-rest-to-soap.html
    SOAP to REST - http://markoneill.sys-con.com/node/1989916
    On use with JSON: you can convert XML to JSON on the outbound side to serve mobile clients etc. using script based(standard XSLT) conversions at the gateway. Conversions to Java using google gson library is also an option.
    To register a REST service, simply map the path (e.g. "/MyRESTService") to the policy you're using to process the REST request.
    Let's say you want to simply route a REST request through OEG (e.g. - to OSB). You would create a policy (right-click on "Policies" and add it). Drag in a "Static Router" filter and place in it the hostname and port of the host you want to route to (e.g. - to OSB). Then right-click on it and choose "Set as start" so that it is the first thing which is processed for this REST request. Then drag in a "Connection" filter, and chain it (using a green arrow) after the Static Router filter. The "Connection" filter actually makes the connection to the backend host.
    Now, map the path (using "Add Relative Path") to the service so that if a REST request to "/MyRESTService" or "/MyRESTService/something" comes into OEG, it is routed on to the backend host.
    Deploy your policy (using F6 or the "deploy" button on the Policy Studio toolbar). Then send in your REST request.
    There is actually already a simple REST service setup on OEG, called "healthcheck". If you point a browser to http://<OEG_IP_ADDRESS:8080/healthcheck" then this is run.
    If the backend REST service returns JSON, the response JSON will simply be sent back through OEG.

  • Messaging Service vs WSDL Based service vs Any SOAP service

    Hi,
    What is the basic difference between these three types of configuration for OSB Proxy? Why can't we use wsdl based or soap based service instead of messaging service? Is there any significance for messaging service?
    Thanks

    Each configuration defines how the Proxy will interface with the consumers. (In other words the input (request format) and output (response format) specifications for the proxy)
    Refer http://docs.oracle.com/cd/E17904_01/doc.1111/e15867/configuringandusingservices.htm#i1146533 (The description column gives an understanding on this)
    Let us know in case of further questions.
    Thanks,
    Patrick
    It is considered good etiquette to reward answerers with points (as "helpful" - 5 pts - or "correct" - 10pts).
    https://forums.oracle.com/forums/ann.jspa?annID=893

  • Unable to process huge files in SFTP BASED PROXY SERVICE

    Hi,
    I credted osb project which will have sftp based proxy and sftp based business service.After completing the development i tested the fie transfer through WINSCP ,but my sftp based proxy was picking the files but i am unable to see the files in the output directory for huge files,for small file it is coming after aquite long time .please assist me .

    If you enable content streaming then you cant access the file/message content within the Proxy service and can not perform actions like Replace or perform transformations on the content. Use streaming for pass through scenarios only. If you want to read a large file and also perform transformations on content I would recommend using JCA Adapter for FTP and try reading records from file in batches, a few records at a time. Just so we know the requirement better, what is the file size and what is the format of the content?

  • A website says i need to use a UK based proxy for their site. I am based in England!

    This is what the site says when I try to view it even though I am in England >>
    Licencing restrictions require that Kiss Kube is only available to UK based listeners. Kiss uses a system to determine your geographic location via your IP address to make the decision.
    Multi-national corporations and internet service providers sometimes have their network configured in such a way that it makes it appear to the Kiss Kube that you are trying to listen from another country.
    If you are in the UK, please ask your IT department if you're able to use a UK based proxy for internet access.
    == URL of affected sites ==
    http://http://kube.totalkiss.com/browser.php

    What does this web page say about your location?
    http://whatismyipaddress.com/

  • Proxy Service giving "Cannot Compute Effective WSDL for: Proxy Service"

    Hi,
    After updating the wsdl and schema, our proxy service is complaining with error : "Cannot Compute Effective WSDL for: Proxy Service " <ProxyService_Location_Name> when I launch a test console or access the Proxy Endpoint on IE.
    Proxy and Business Services are pointing to the same WSDL. From Business Service, I am able to launch the test console. . Before updating the wsdl and schema, it was working fine. We tried to check in JDeveloper to see whether there are any issues with WSDL or Schema, but they are working fine.
    Security Settings on Proxy Service are : Basic Authentication, User-Name Token Policy and also applied Transport Access Control. Security worked fine earlier before update.
    From log file :
    Root cause of ServletException.
    java.io.IOException: Can not compute effective WSDL for : ProxyService ********
    at com.bea.wli.sb.transports.http.ResourceRequestProcessor.securedInvoke(ResourceRequestProcessor.java:93)
    at com.bea.wli.sb.transports.http.ResourceRequestProcessor.process(ResourceRequestProcessor.java:65)
    at com.bea.wli.sb.transports.http.generic.RequestHelperBase.handleMetadataRequest(RequestHelperBase.java:181)
    at com.bea.wli.sb.transports.http.generic.RequestHelperBase.service(RequestHelperBase.java:83)
    at com.bea.wli.sb.transports.http.wls.HttpTransportServlet.service(HttpTransportServlet.java:127)
    at weblogic.servlet.FutureResponseServlet.service(FutureResponseServlet.java:24)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    Any suggestions/ideas on why this error is happening is much appreciated.
    Thanks,
    Srithi

    There must be definitely some issue in the Policy Configuration, due to which it is not able to Compute Effective WSDL.
    Can you please do the following and capture the logs:
    - set the transports debug flag to true in the alsbdebug.xml in your domain directory :
    <java:alsb-transports-debug>true</java:alsb-transports-debug>
    <java:alsb-service-security-manager-debug>true</java:alsb-service-security-manager-debug>
    <java:alsb-service-validation-debug>true</java:alsb-service-validation-debug>
    <java:alsb-wspolicy-repository-debug>true</java:alsb-wspolicy-repository-debug>
    - set the WLS log level to debug
    - Then restart the servers
    This should give some additional details on the specific error.
    It is considered good etiquette to reward answerers with points (as "helpful" - 5 pts - or "correct" - 10pts).
    https://forums.oracle.com/forums/ann.jspa?annID=893

  • WSDL to Proxy scenario

    Hi!
    I would like to implement the WSDL to Proxy scenario with SAP XI 7 for SAP ECC system
    Can some one recommend a real good url or documentation that describing step for step the technical steps?
    Also the information for other scenarios will be very appreciated.
    Thank you very much!
    regards
    Holger

    HI Holger,
    Create new External defination in IR , select the  wsdl as category and select the file the specified loaction and save.
    Then create the Message type by using the external definition which is created in the previous step.
    After that proceed the same normal steps like creating MI, MM and IM.
    Regards
    Goli Sridhar

  • Endpoint for FTP based proxy in Linux-urgent

    Hi,
    I have configured FTP based proxy. Both FTP server and ALSB are running on same machine. I have configured endpoint as ftp://<ip>:21/. FTP directory is /home/alsb
    I have also mentioned error,archive and download dirs in /home/Dir/download ,/home/Dir/error,/home/Dir/archive.
    Inspite of this the proxy is not polling fo messages from FTP server. The name of the file changes to <filename>.stage but nothing happens after that.
    The other alternative config done was to enable remote streaming.In this case,the file polls but it moves to error dir.None of the alerts configured in proxy are executed.
    Can anyone tell me where the problem is?
    Thanks.
    Arti

    Hi,
    I didn't find any error in OSB logs.This was the msg in the log:
    ####<Aug 6, 2009 5:54:10 PM EDT> <Info> <WliSbTransports> <DIA2-RH52> <AdminServer> <[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'> <weblogic> <> <> <1249595650028> <BEA-381113> <File ./CntctOpt_data.txt renamed to CntctOpt_data.txt__5970064165513615536--40acb272.122ebdf8770.-109a.Stage on the remote host 192.168.14.126 for the service endpoint ProxyService$3sixty$proxy$contact$inbound$DummyProxy>
    Also found this :
    javax.jms.JMSException: [JMSPool:169803]JNDI lookup of the JMS connection factory weblogic.wlsb.jms.transporttask.QueueConnectionFactory failed: javax.naming.NameNotFoundException: While trying to lookup 'weblogic.wlsb.jms.transporttask.QueueConnectionFactory' didn't find subcontext 'wlsb'. Resolved 'weblogic'; remaining name 'wlsb/jms/transporttask/QueueConnectionFactory'
    Resolved 'weblogic'; remaining name 'wlsb/jms/transporttask/QueueConnectionFactory'
         at weblogic.deployment.jms.JMSExceptions.getJMSException(JMSExceptions.java:29)
         at weblogic.deployment.jms.JMSConnectionHelper.lookupConnectionFactory(JMSConnectionHelper.java:471)
         at weblogic.deployment.jms.JMSConnectionHelper.openConnection(JMSConnectionHelper.java:268)
         at weblogic.deployment.jms.JMSConnectionHelper.<init>(JMSConnectionHelper.java:184)
         at weblogic.deployment.jms.JMSSessionPool.getConnectionHelper(JMSSessionPool.java:469)
         at weblogic.deployment.jms.PooledConnectionFactory.createConnectionInternal(PooledConnectionFactory.java:332)
         at weblogic.deployment.jms.PooledConnectionFactory.createConnection(PooledConnectionFactory.java:226)
         at com.bea.wli.sb.security.SecurityModuleImpl$5.run(SecurityModuleImpl.java:521)
         at com.bea.wli.sb.security.SecurityModuleImpl$5.run(SecurityModuleImpl.java:520)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(Unknown Source)
         at com.bea.wli.sb.security.SecurityModuleImpl.runAlsbPrivilegedAction(SecurityModuleImpl.java:376)
         at com.bea.wli.sb.security.SecurityModuleImpl.createJmsConnection(SecurityModuleImpl.java:524)
         at com.bea.wli.sb.transports.poller.PollEngine.sendMessage(PollEngine.java:133)
         at com.bea.wli.sb.transports.poller.PollEngine.putMessageInQueue(PollEngine.java:108)
         at com.bea.wli.sb.transports.poller.TransportTimerListener.timerExpired(TransportTimerListener.java:79)
         at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:273)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:464)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)
    I am using a different connection factory.Not sure why this error is being encountered.
    Edited by: arrajago on Aug 7, 2009 2:04 AM

  • Registry startup script for computer-based proxy configuration

    I am attempting to deploy computer-based proxy server settings via importing a .reg file to user PCs as a startup script. It has appeared to work on some PCs but not on others. We have a mix of Windows XP Professional x86 and Windows 7 Professional x64 PCs
    in our domain.
    I am not sure whether to use "reg import" or "regedit /s" in my batch script.
    Before trying the batch script method, using "Computer Configuration > Preferences > Registry" settings did not work.
    I have created a GPO, applied it to an OU containing computers and used the following settings:
    Computer Configuration > Policies > Windows Settings > Scripts > Startup
    Batch Script: regedit /s \\FQDN\netlogon\wmproxy.reg
    Registry File:
    Windows Registry Editor Version 5.00
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings]
    "ProxyEnable"=dword:00000001
    "MigrateProxy"=dword:00000001
    "ProxyOverride"="<local>"
    "ProxyServer"="proxy.FQDN:8080"
    Computer Configuration > Administrative Templates > Windows Components/Internet Explorer
    Disable changing proxy settings = Enabled
    Make proxy settings per-machine (rather than per-user) = Enabled
    As at the beginning of my post, the settings deploy to some PCs but not all and I have yet to see it work on the Windows 7 PCs. Am I attempting computer-based proxy settings the wrong way, or am I missing something with how I am currently trying to deploy
    it?
    Thanks all!

    Hi,
    You mentioned you have tried to configure the computer-based proxy settings via GPP but it didn’t work. Before going further, would you please let me know how did you configure the settings?
    In order to narrow down the cause of the issue, I suggest we’d better collect the following information.
    GPMC.log
    ==================
    a. On domain controller, click Start ->Run, type GPMC.MSC, it will load the GPMC console.
    b. Right click on "Group Policy Result" and choose wizard to generate a report for the problematic computer and user account (please place appropriately). (Choose computer and select the proper
    user in the wizard)
    c. Right click 
    the resulting group policy result and click the "Save Report…" => save report to save the report to a HTML file.
    Once we get the GPMC.log, please check the detailed report logged in it.
    You said you have created a startup script to edit the registry key to configure the proxy setting of the computer but it worked on only some of the computers in the domain. Have you tried
    to run the script on the problematic computer manually to see if it works? If it still fails to run, it could be related to the script issue, then we’d better ask in the script forum.
    The Official Scripting Guys Forum!
    http://social.technet.microsoft.com/Forums/en-US/ITCG/threads
    Regards,
    Andy

  • OSB10gR3:High-availbility of file protocol based proxy service

    Hi All,
    I just want to know the options available for creating two proxy services polling on the same location using File transport/ making a file based proxy service independent of managed servers.
    Actually in OSB doc's File Transport Configuration page, it is mentioned that
    Managed Server This field is available only in a clustered domain. Select the Managed Server to act as the polling server. All of the Managed Servers can process the message, but only one can poll for the message. ( [Click here|http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/consolehelp/proxyservices.html#wp1272642] to check)
    So what if the server on which proxy is deployed for polling, goes down? How can we handle such situation?
    Your opinion?
    Thanks & Regards,
    Anuj

    File like FTP and Email transports are singleton services. That is, the processing can take place in any node of the cluster, but the polling only takes place in one. The reason for this is simple, duplicate invocations. If you have 4 nodes in your cluster and they are all polling, when a new file is created, your proxy could be invoked 4 times for the same file.
    You could make two proxy services and have them poll the same directory but on different nodes. If the nodes share the same file system, your business service would have to be able to deal with duplicate messages. If it's not the same file system, the application that creates the files would need to keep track of the status of the servers in the cluster to decide where to put the files.
    I think the best option would be to look into weblogic's cluster features: leasing and server migration. You could configure weblogic to automatically migrate the failed server to another machine (there's also service migration, but I don't think weblogic is aware of osb level services). Of course you would need to use a file system that's available to both the "primary" and the "backup" servers. Have a look here:
    http://download.oracle.com/docs/cd/E12840_01/wls/docs103/cluster/migration.html
    You could also create a WLST script to modify your proxy service (change the managed server) in case of failure. There should be a way, maybe through JMX or using the WLDF, to get a notification when the server goes down so you can execute your script. Again, you need a shared file system.
    Hope that helps. And if you come up with a good solution let us know!

Maybe you are looking for