Different number of Business service endpoint for prod/non prod env in OSB

Hi,
I have a scenario in my project. We have 2 managed servers in all non production environment and 4 servers in production environment.
In non production environments, have added 2 end point uri in the business service. If we create customization file from this, it will have only 2 endpoint uri details.
Now problem is how to get all 4 enpoint uri added for production environment. Dont know how if we try to add 2 uris in customization file will work fine or not. Also it will be very cumbersome as there are more than 100 business services.
Tried with comma seperated urls, but load balancing is not happening. Same thing when cluster address is used.
Any pointers on this will be helpful.
Regards,
Pravin
Edited by: pravinkapile on Sep 29, 2009 9:39 PM

Hi..
There's several ways to do it.. What I prefer to do is to generate the customization files and have a seperate set for each environment. As you say hand modifying the customization files is a pain (and error prone), so I wrote a program to generate the customization files.. basically it runs against my local dev environment, creates an edit session, modifies the env values (these are held in a properties file (easier to maintain)), exports the customization files and sbconfig jars, then discards the edit session.
I then use a wlst/jmx script to perform the imports and running the customization files, then after the customization is ran, then I have a section that modifies the business service with multiple endpoints to set them up to load balance/failover..
this is the function in my utils script to set the load balancing/failover....
#=======================================================================================
# Routine to modify all Business Endpoints with multiple URI's to set the Loadbalancing
# algorithm to Round-Robin -
#   Input must be an editable instance of an ALSBConfigurationMBean.
#=======================================================================================
def configureMultipleBSEndpoints(domainService, alsbSession):
  try:
    # get the Service config MBean
    servConfMBean = getServiceConfigurationMBean(domainService, alsbSession.getSession())
    bsQuery = BusinessServiceQuery()
    bsRefs = alsbSession.getRefs(bsQuery)
    changesToCommit = cju.parseBoolString("false")
    for bsRef in bsRefs:
      modificationsMade = cju.parseBoolString("false")
      serviceDefinition = servConfMBean.getServiceDefinition(bsRef)
      endPointConfig = servConfMBean.getEndPointConfiguration(bsRef)
      if endPointConfig.getURIArray().__len__() > 1:       
        outBoundProps = endPointConfig.getOutboundProperties()
        if outBoundProps.getLoadBalancingAlgorithm() == LoadBalancingAlgorithmEnum.NONE:
          outBoundProps.setLoadBalancingAlgorithm(LoadBalancingAlgorithmEnum.ROUND_ROBIN)
          modificationsMade = cju.parseBoolString("true")
        if outBoundProps.getRetryApplicationErrors():
          outBoundProps.setRetryApplicationErrors(cju.parseBoolString("false"))
          modificationsMade = cju.parseBoolString("true")
        retryCount = endPointConfig.getURIArray().__len__() - 1
        if outBoundProps.getRetryCount() != retryCount:
          outBoundProps.setRetryCount(retryCount)
          modificationsMade = cju.parseBoolString("true")
        if outBoundProps.getRetryInterval() != 2:
          outBoundProps.setRetryInterval(2)
          modificationsMade = cju.parseBoolString("true")
        serviceOpsEntry = servConfMBean.getServiceOperations(bsRef)
        if cju.booleanToString(serviceOpsEntry.isTakingURIOfflineEnabled()) == "false":
          serviceOpsEntry.setTakingURIOfflineEnabled(cju.parseBoolString("true"))
          serviceOpsEntry.setDelayInterval(15);
          modificationsMade = cju.parseBoolString("true")
        if modificationsMade:
          print 'endpoint configuration modifications made to - ' + bsRef.getFullName()
          hmServiceOpEntries = HashMap()
          hmServiceOpEntries.put(bsRef, serviceOpsEntry)
          endPointConfig.setOutboundProperties(outBoundProps)
          serviceDefinition.setEndpointConfig(endPointConfig)
          servConfMBean.updateService(bsRef, serviceDefinition)
          servConfMBean.updateServiceOperations(hmServiceOpEntries)
          changesToCommit = cju.parseBoolString("true")
    return changesToCommit
  except:
    print "Unexpected error:", sys.exc_info()
    print 'Failed to Configure Business Service Multiple Endpoints LoadBalancing Algorithm '
    raise..Mark.

Similar Messages

  • OracleServiceBus Business Service Endpoints user 9096491

    Question1:
    I am having 3 business service endpoint with 3 business specifications(WSDL's). But I do not want to create a business service for each business service endpoints. I am creating one business service with end point. how to change the existing business service endpoint according the business? if any way to pass the other endpoints to the existing business service please provide me the answer.
    Proxy----> BusinessService(3 endpoints)
    Questions2: If it achievable by using dynamic Routing means how?

    Use routing options to sepcify the endpoint at runtime of business service. However this would be possible only if all the three wsdls are same. http://docs.oracle.com/cd/E23943_01/dev.1111/e15866/ui_ref.htm#i1290930
    If you have 3 different wsdls and then you cam use dynamic routing, but in this case you wil have to create 3 business service.

  • Oracle Service Bus - Business Service Endpoint URI - Dynamic

    Hi,
    I'm trying to find a way to avoid hard-coding the endpoint URI in a business service. The reason I need to achieve this is because for the different environments (development, testing, production, etc...) the URI will be different.
    I have spent the past 2 days searching the oracle forum and documentation but have come up with nothing. Is there a way to achieve this?
    Preferably, is there a way to store the endpoint URIs in a configuration/properties file which can be changed when needed?
    Any help is much appreciated!
    Best Regards,
    Adel Haider

    Hi Adel,
    Customization file will be the best solution for your problem. You may generate a environment specific customization file. To know more, please refer -
    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/consolehelp/customization.html#wp1129087
    Simplest solution would be to generate a customization file and replace the existing URI's with the required one's using replace all option of textpad. Run this customization file at target environment, after importing the OSB configuration.
    Regards,
    Anuj

  • List Business Services Endpoints with WLST

    Hi,
    We're using OSB 11.1.1.3 and 11.1.1.6 in several environments.
    We just need to use wlst scripting to keep track of all business services and their endpoint uri's automatically.
    We tried using some old scripts but found out that they don't work on 11g installations:
    We tried the following code:
    connect('weblogic','oracle10','t3://soavm2:7001')
    domainRuntime()
    sessionName = "FindServicesSession" + str(System.currentTimeMillis())
    sessionMBean = findService(SessionManagementMBean.NAME, SessionManagementMBean.TYPE)
    sessionMBean.createSession(sessionName)
    servConfMBean = findService(ServiceConfigurationMBean.NAME + "." + sessionName, ServiceConfigurationMBean.TYPE)
    alsbCore = findService(ALSBConfigurationMBean.NAME, ALSBConfigurationMBean.TYPE)
    allRefs=alsbCore.getRefs(Ref.DOMAIN)
    for ref in allRefs:
    typeId = ref.getTypeId()
    if typeId == "BusinessService":
    serviceDefinition = servConfMBean.getServiceDefinition(ref)
    endpointConfigration = serviceDefinition.getEndpointConfig()
    print endpointConfigration
    We get a "AttributeError: 'NoneType' object has no attribute 'getServiceDefinition'" error. It seems that it is related to metalink note "How To Modify Service Configurations By OSB JMX API [ID 1431254.1]". However the code provided there is for java through jmx, does anybody has a working example of how to do that on wlst?
    Thanks!

    Hi Marc,
    What i found is that we can get list of business services URIs by consulting SERVICE_URI_TABLE...
    Here's a script that reads a parameter file (which can have multiple domains information) with connection info and then gets all services and prints a list of the service name and URI on a file for each domain...
    # params.txt format:
    # user,passwd,admin-url
    # Ej:
    # weblogic,weblogic1,t3://adminsoa:7001
    # weblogic,weblogic100,t3//adminsoa2:7001
    import wlstModule
    from com.bea.wli.sb.management.configuration import SessionManagementMBean
    from com.bea.wli.sb.management.configuration import ALSBConfigurationMBean
    from com.bea.wli.sb.management.configuration import BusinessServiceConfigurationMBean
    from com.bea.wli.sb.util import EnvValueTypes
    from com.bea.wli.config import Ref
    from com.bea.wli.sb.util import Refs
    from xml.dom.minidom import parseString
    f1 = open('/tmp/params.txt','r')
    for line in f1:
    spline=line.split(',')
    usr=spline[0]
    pwd=spline[1]
    url=spline[2].replace("\n","")
    try:
    connect(usr,pwd,url)
    domName=cmo.getName()
    domainRuntime()
    sessionMBean = findService(SessionManagementMBean.NAME,SessionManagementMBean.TYPE)
    sessionName="WLSTSession"+ str(System.currentTimeMillis())
    sessionMBean.createSession(sessionName)
    alsbSession = findService(ALSBConfigurationMBean.NAME + "." + sessionName, ALSBConfigurationMBean.TYPE)
    alsbCore = findService(ALSBConfigurationMBean.NAME, ALSBConfigurationMBean.TYPE)
    allRefs=alsbCore.getRefs(Ref.DOMAIN)
    fileName='/tmp/'+domName+'_'+url.replace('t3://','').replace(':','')+'_BServicesLista.csv'
    f2 = open(fileName, 'w')
    f2.write('Name'+','+'URL'+'\n')
    for ref in allRefs:
    typeId = ref.getTypeId()
    if typeId == "BusinessService":
    name=ref.getFullName()
    uris=alsbSession.getEnvValue(ref, EnvValueTypes.SERVICE_URI_TABLE, None)
    xml=parseString(uris.toString())
    xmlTag = xml.getElementsByTagName('tran:URI')[0].toxml()
    xmlData=xmlTag.replace('<tran:URI>','').replace('</tran:URI>','')
    f2.write('\"'+name+'\"'+','+'\"'+xmlData+'\"'+'\n')
    f2.close()
    except Exception,e:
    print "Error trying to connect to " + url + 'Error: ' + str(e)
    f1.close()
    disconnect()
    It's been working for us so far...

  • OSB problem posting 5MB body to a business service endpoint

    Hello,
    I have an https endpoint they results in a Broken pipe exception after running for about 10mins if I send a SOAP body greater than 5MB. If I send the same request to this endpoint using SOAPUI (no OSB involvement) it works fine and completes in <1min, it only fails through OSB. Also if the request is less than 5MB it works fine through OSB and again completes in <1min.
    I've tried calling a proxy service (through test console and SOAPUI) and the business service (through test console) and all fail with the same broken pipe exception. Below is the constant state of the thread during this 10min period.
    "[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=3 tid=0x02fa6400 nid=0x16 runnable [0xb19fd000..0xb19ffaf0]
    java.lang.Thread.State: RUNNABLE
         at java.net.SocketOutputStream.socketWrite0(Native Method)
         at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
         at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
         at com.certicom.io.OutputSSLIOStream.write(Unknown Source)
         at com.certicom.tls.record.WriteHandler.flushOutput(Unknown Source)
         at com.certicom.tls.record.WriteHandler.write(Unknown Source)
         at com.certicom.io.OutputSSLIOStreamWrapper.write(Unknown Source)
         at java.io.BufferedOutputStream.write(BufferedOutputStream.java:105)
         - locked <0xe70af568> (a java.io.BufferedOutputStream)
         at weblogic.net.http.HttpOutputStream.write(HttpOutputStream.java:22)
         at weblogic.utils.io.UnsyncByteArrayOutputStream.writeTo(UnsyncByteArrayOutputStream.java:104)
         at weblogic.net.http.HttpURLConnection.writeRequests(HttpURLConnection.java:162)
         - locked <0xcefd08f8> (a weblogic.net.http.SOAPHttpsURLConnection)
         at weblogic.net.http.HttpURLConnection.writeRequestForAsyncResponse(HttpURLConnection.java:492)
         at weblogic.net.http.AsyncResponseHandler.writeRequestAndRegister(AsyncResponseHandler.java:190)
         at weblogic.net.http.AsyncResponseHandler.writeRequestAndRegister(AsyncResponseHandler.java:152)
         at com.bea.wli.sb.transports.http.HttpOutboundMessageContext.send(HttpOutboundMessageContext.java:313)
         at com.bea.wli.sb.transports.http.HttpTransportProvider.sendMessageAsync(HttpTransportProvider.java:564)
         at sun.reflect.GeneratedMethodAccessor310.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.bea.wli.sb.transports.Util$1.invoke(Util.java:82)
    I am running OSB 10.3.0 on SPARC Solaris using Sun JVM.
    Any ideas/suggestions?
    Many thanks,
    Mike.

    Hello,
    I've tried content streaming but it made no difference. Maybe I've misunderstood content streaming but I thought you use this when body variable in the pipeline pair of a proxy is too big to manipulate in memory. In my scenario this is not a problem (I can report on the body fine just before I route to the business service) the only issue occurs when I call the business service with a request greater than 5MB.
    I've already adjusted the WLS timeouts/message sizes as follows:
    Max Post Size = -1 (although I think this is only used for POST to WLS rather than the other way around)
    Max Message Size = 50000000
    JTA timeout = 60
    The only stack trace is for the broken pipe:
    ####<30-Mar-2010 08:35:57 o'clock BST> <Debug> <AlsbTransports> <int-app-04> <RSPCA_ESB_Server1> <[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1269934557943> <BEA-000000> <LoadBalanceFailoverListener.sendMessageToServiceAsync
    com.bea.wli.sb.transports.TransportException: Broken pipe
    at com.bea.wli.sb.transports.TransportException.newInstance(TransportException.java:195)
    at com.bea.wli.sb.transports.http.HttpOutboundMessageContext.send(HttpOutboundMessageContext.java:370)
    at com.bea.wli.sb.transports.http.HttpTransportProvider.sendMessageAsync(HttpTransportProvider.java:564)
    at sun.reflect.GeneratedMethodAccessor327.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.bea.wli.sb.transports.Util$1.invoke(Util.java:82)
    at $Proxy60.sendMessageAsync(Unknown Source)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageAsync(LoadBalanceFailoverListener.java:148)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToServiceAsync(LoadBalanceFailoverListener.java:543)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToService(LoadBalanceFailoverListener.java:478)
    at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageToService(TransportManagerImpl.java:544)
    at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageAsync(TransportManagerImpl.java:422)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.doDispatch(PipelineContextImpl.java:583)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.dispatch(PipelineContextImpl.java:498)
    at stages.routing.runtime.RouteRuntimeStep.processMessage(RouteRuntimeStep.java:128)
    at com.bea.wli.sb.pipeline.StatisticUpdaterRuntimeStep.processMessage(StatisticUpdaterRuntimeStep.java:41)
    at com.bea.wli.sb.stages.StageMetadataImpl$WrapperRuntimeStep.processMessage(StageMetadataImpl.java:339)
    at com.bea.wli.sb.pipeline.RouteNode.doRequest(RouteNode.java:106)
    at com.bea.wli.sb.pipeline.Node.processMessage(Node.java:67)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.execute(PipelineContextImpl.java:866)
    at com.bea.wli.sb.pipeline.Router.processMessage(Router.java:191)
    at com.bea.wli.sb.pipeline.MessageProcessor.processRequest(MessageProcessor.java:75)
    at com.bea.wli.sb.pipeline.RouterManager$1.run(RouterManager.java:508)
    at com.bea.wli.sb.pipeline.RouterManager$1.run(RouterManager.java:506)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at com.bea.wli.sb.security.WLSSecurityContextService.runAs(WLSSecurityContextService.java:55)
    at com.bea.wli.sb.pipeline.RouterManager.processMessage(RouterManager.java:505)
    at com.bea.wli.sb.transports.TransportManagerImpl.receiveMessage(TransportManagerImpl.java:371)
    at com.bea.wli.sb.transports.http.HttpTransportServlet$RequestHelper$1.run(HttpTransportServlet.java:279)
    at com.bea.wli.sb.transports.http.HttpTransportServlet$RequestHelper$1.run(HttpTransportServlet.java:277)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at com.bea.wli.sb.transports.http.HttpTransportServlet$RequestHelper.securedInvoke(HttpTransportServlet.java:276)
    at com.bea.wli.sb.transports.http.HttpTransportServlet$RequestHelper.service(HttpTransportServlet.java:237)
    at com.bea.wli.sb.transports.http.HttpTransportServlet.service(HttpTransportServlet.java:133)
    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)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3498)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    java.net.SocketException: Broken pipe
    at java.net.SocketOutputStream.socketWrite0(Native Method)
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
    at com.certicom.io.OutputSSLIOStream.write(Unknown Source)
    at com.certicom.tls.record.WriteHandler.flushOutput(Unknown Source)
    at com.certicom.tls.record.WriteHandler.write(Unknown Source)
    at com.certicom.io.OutputSSLIOStreamWrapper.write(Unknown Source)
    at java.io.BufferedOutputStream.write(BufferedOutputStream.java:105)
    at weblogic.net.http.HttpOutputStream.write(HttpOutputStream.java:22)
    at weblogic.utils.io.UnsyncByteArrayOutputStream.writeTo(UnsyncByteArrayOutputStream.java:104)
    at weblogic.net.http.HttpURLConnection.writeRequests(HttpURLConnection.java:162)
    at weblogic.net.http.HttpURLConnection.writeRequestForAsyncResponse(HttpURLConnection.java:492)
    at weblogic.net.http.AsyncResponseHandler.writeRequestAndRegister(AsyncResponseHandler.java:190)
    at weblogic.net.http.AsyncResponseHandler.writeRequestAndRegister(AsyncResponseHandler.java:152)
    at com.bea.wli.sb.transports.http.HttpOutboundMessageContext.send(HttpOutboundMessageContext.java:313)
    at com.bea.wli.sb.transports.http.HttpTransportProvider.sendMessageAsync(HttpTransportProvider.java:564)
    at sun.reflect.GeneratedMethodAccessor327.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.bea.wli.sb.transports.Util$1.invoke(Util.java:82)
    at $Proxy60.sendMessageAsync(Unknown Source)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageAsync(LoadBalanceFailoverListener.java:148)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToServiceAsync(LoadBalanceFailoverListener.java:543)
    at com.bea.wli.sb.transports.LoadBalanceFailoverListener.sendMessageToService(LoadBalanceFailoverListener.java:478)
    at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageToService(TransportManagerImpl.java:544)
    at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageAsync(TransportManagerImpl.java:422)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.doDispatch(PipelineContextImpl.java:583)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.dispatch(PipelineContextImpl.java:498)
    at stages.routing.runtime.RouteRuntimeStep.processMessage(RouteRuntimeStep.java:128)
    at com.bea.wli.sb.pipeline.StatisticUpdaterRuntimeStep.processMessage(StatisticUpdaterRuntimeStep.java:41)
    at com.bea.wli.sb.stages.StageMetadataImpl$WrapperRuntimeStep.processMessage(StageMetadataImpl.java:339)
    at com.bea.wli.sb.pipeline.RouteNode.doRequest(RouteNode.java:106)
    at com.bea.wli.sb.pipeline.Node.processMessage(Node.java:67)
    at com.bea.wli.sb.pipeline.PipelineContextImpl.execute(PipelineContextImpl.java:866)
    at com.bea.wli.sb.pipeline.Router.processMessage(Router.java:191)
    at com.bea.wli.sb.pipeline.MessageProcessor.processRequest(MessageProcessor.java:75)
    at com.bea.wli.sb.pipeline.RouterManager$1.run(RouterManager.java:508)
    at com.bea.wli.sb.pipeline.RouterManager$1.run(RouterManager.java:506)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at com.bea.wli.sb.security.WLSSecurityContextService.runAs(WLSSecurityContextService.java:55)
    at com.bea.wli.sb.pipeline.RouterManager.processMessage(RouterManager.java:505)
    at com.bea.wli.sb.transports.TransportManagerImpl.receiveMessage(TransportManagerImpl.java:371)
    at com.bea.wli.sb.transports.http.HttpTransportServlet$RequestHelper$1.run(HttpTransportServlet.java:279)
    at com.bea.wli.sb.transports.http.HttpTransportServlet$RequestHelper$1.run(HttpTransportServlet.java:277)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at com.bea.wli.sb.transports.http.HttpTransportServlet$RequestHelper.securedInvoke(HttpTransportServlet.java:276)
    at com.bea.wli.sb.transports.http.HttpTransportServlet$RequestHelper.service(HttpTransportServlet.java:237)
    at com.bea.wli.sb.transports.http.HttpTransportServlet.service(HttpTransportServlet.java:133)
    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)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3498)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Thanks,
    Mike.

  • Oracle Service Bus - Business Service Endpoint URI - Change at runtime

    Hi,
    Is there a way of changing/passing the endpoint URI to a Business Service at runtime? The reason for my question is that depending on the content of the message in a Proxy Service that calls this Business Service I may need to change the URI.
    Kind Regards,
    Adel

    Adel,
    Is there some use-case limitation that would stop us from using Dynamic routing ?
    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/userguide/modelingmessageflow.html#wp1100135.
    DynamicRouting /Dynamic publish can be considered depending on the use-case.
    Other option is to use Routing options: Modify any or all of the following properties in the outbound request: URI, Quality of Service, Mode, Retry parameters, Message Priority.
    Manoj

  • Different number of records in RSA3 for Full and INIT

    Hi All,
    I am about to load the data from 0FI_GL_4 and checked it in RSA3 for the number of records. It returned different number of records when I run the extract with options 'F' and 'C'. Why is it so? This is the first time I am loading the data into BW for this datasource. I would expect the number of records to be same if I do either a full extract or an init but surprised by seeing different number of records.
    Best Regards,
    James.

    Hi James,
    Probably it's because of the time stamps stored in table BWOM2_TIMEST.
    If you run a delta init and than a delta update then the number of the records should match with the record of the full update.
    You can find some more info about table BWOM2_TIMEST here:
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/a7f2f294-0501-0010-11bb-80e0d67c3e4a#527,7,Timestamp%20Mechanism:%20New%20documents
    Bye,
         Zsolt

  • OSB Business Service Retries for Read Timeout

    Hi,
    Is it possible to have retries configurable for Read Time out in Business Services in OSB ?
    What is the best practice alternative if we need to retry on a read time out with the same request ?

    You can configure your business service to retry.On the transport configuration tab of the business service configure the following:-
    Retry Count
    Retry Iteration Interval
    http://docs.oracle.com/cd/E14571_01/doc.1111/e15867/business_services.htm#i1096469

  • OSB: Business Service Timeout for JCA Connection

    Hi,
    I am wondering if there's any way to configure timeout for a JCA connection in OSB? It's not configurable in Business Service.
    Thanks.

    Hi Anuj,
    I am using DbAdapter. As for operation, which operation are you referring to? Where do I check to verify this?
    Thanks.
    Edited by: user13298498 on May 21, 2012 11:01 PM

  • OSB:Publish to business service with for each in osb proxy message flow

    Hi,
    I have an external application that will make a call to my web-service and post a message to my queue "A" and i need to model my osb component such that it picks the message from that queue " A"and posts it to another queue "B". All this is done without any BPEL involved.
    for publishing the message i have created a business service that publishes a msg to the queue A and my proxy service is modelled such that it subscribes to this same queue A and publishes the msg to another business service (that posts it to a queue B).
    Everything is working fine but i have an issue in modelling my proxy message flow. If an external application sends a bulk msg i need to post the message one by one to my queue B. I have used for-each and Publish to BS but the msg doesn't get posted one by one. i know i am missing something please help me out.
    SOA Suite Version - 11.1.1.3

    Are you sure that your for-each definition is correct? Does the flow within the for-each get executed multiple times?
    You can check this by logging the variable to which you assign the message in the for-each. Don't forget to put the log level to Error, so you're sure that it's logged.
    Let's say you get a list of persons like the following xml in a variable personList
    <Persons>
    <Person>Glenn</Person>
    <Person>Prasanth</Person>
    </Persons>
    Your for-each definition should be the following.
    For each variable: person
    XPath: +./Person+
    In Variable: personList
    You don't mention the Persons element in the XPath expression since it is the root element of the XML. The root element is represented by . (dot).
    In the for-each, the variable person can be used like any other variable.

  • Business Service Issue for OSB 10.3.1 when call web service of SAP ECC 710

    Hello,
    1 . I was doing unit test for a business service which called a web service from SAP ECC 710 (This service is published directly from a RFC function module via SOA Manager);
    2 .The problem is when i use the OSB test console , which generate request message below:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    *<soap:Header xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">*
    *</soap:Header>*
    <soapenv:Body>
    <urn:Zmmjf503 xmlns:urn="urn:sap-com:document:sap:soap:functions:mc-style">
    <ContractInfo>string</ContractInfo>
    </urn:Zmmjf503>
    </soapenv:Body>
    </soapenv:Envelope>
    the response message is :
    <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
    <soap-env:Header>
    <n0:MessageID xmlns:n0="http://schemas.xmlsoap.org/ws/2004/08/addressing">
    uuid:4cbe5b84-474c-9abe-e100-00000ad00164
    </n0:MessageID>
    <n1:Action soap-env:mustUnderstand="1" xmlns:n1="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope"/>
    </soap-env:Header>
    <soap-env:Body/>
    </soap-env:Envelope>
    Above response indicates that the BS called the SAP Web server successfully , but seems the service didn't get the request message.
    3. The Web service can be called successfully via SoapUI . and i have checked the request message of soapUI; and it can work if i simply modify the request:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    *<soap:Header xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"></soap:Header>*
    <soapenv:Body>
    <urn:Zmmjf503 xmlns:urn="urn:sap-com:document:sap:soap:functions:mc-style">
    <ContractInfo>string</ContractInfo>
    </urn:Zmmjf503>
    </soapenv:Body>
    </soapenv:Envelope>
    and i got the correct response :
    <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
    <soap-env:Header/>
    <soap-env:Body>
    <n0:Zmmjf503Response xmlns:n0="urn:sap-com:document:sap:soap:functions:mc-style">
    <Recmsg><![CDATA[<?xml version="1.0" encoding="utf-8"?><DocumentResponse><STATE>0</STATE><HTBH></HTBH><MESSAGE></MESSAGE></DocumentResponse>]]></Recmsg>
    </n0:Zmmjf503Response>
    </soap-env:Body>
    </soap-env:Envelope>
    4 It bother me , as the only difference between the above two request messages is the Header(the first one contains a "carriage returns"):
    *<soap:Header xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">*
    *</soap:Header>*
    VS
    *<soap:Header xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"></soap:Header>*
    5 i thought that the soap engine should ignore the "carriage returns", seems it's a problem of SAP ECC710.
    DID anyone encouter this problem?? Thanks
    Regards
    Wen

    Thanks,Patrick,
    i have already removed the Soap:header, and it worked as well. what's more , using header " <soapenv:Header/>" worked.
    And i got these request messages via TCPMON, so it's exactly what were sent to SAP ECC710.
    The HTTP request which cannot work:
    POST /sap/bc/srt/rfc/sap/zmmjf_503/400/zmmjf_503_service/zmmjf_503_soapbinding HTTP/1.1
    Content-Type: text/xml; charset=utf-8
    Authorization: Basic enpoZmhlOnBhc3N3b3Jk
    SOAPAction: ""
    Transfer-Encoding: chunked
    User-Agent: Java1.6.0_05
    Host: 10.208.1.100:8000
    Accept: text/html, image/gif, image/jpeg, */*; q=.2
    Connection: Keep-Alive
    017a
    <?xml version="1.0" encoding="UTF-8"?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soap:Header xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    </soap:Header><soapenv:Body><urn:Zmmjf503 xmlns:urn="urn:sap-com:document:sap:soap:functions:mc-style">
    <ContractInfo>string</ContractInfo>
    </urn:Zmmjf503></soapenv:Body></soapenv:Envelope>
    0000
    THE HTTP request which can work:
    POST /sap/bc/srt/rfc/sap/zmmjf_503/400/zmmjf_503_service/zmmjf_503_soapbinding HTTP/1.1
    Content-Type: text/xml; charset=utf-8
    Authorization: Basic enpoZmhlOnBhc3N3b3Jk
    SOAPAction: ""
    Transfer-Encoding: chunked
    User-Agent: Java1.6.0_05
    Host: 10.208.1.100:8000
    Accept: text/html, image/gif, image/jpeg, */*; q=.2
    Connection: Keep-Alive
    016c
    <?xml version="1.0" encoding="UTF-8"?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soap:Header xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"/><soapenv:Body><urn:Zmmjf503 xmlns:urn="urn:sap-com:document:sap:soap:functions:mc-style">
    <ContractInfo>string</ContractInfo>
    </urn:Zmmjf503></soapenv:Body></soapenv:Envelope>
    0000
    Thing is that if i just use
    <soap:Header xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"></soap:Header>
    to replace (which means i just simply remove the carriage return)
    <soap:Header xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    </soap:Header>
    in the header field of OSB Test console, it can work!!!
    It's really a weird issue. and it bothers me so much ;)
    any suggestions?
    Regards
    Wen

  • Lync 2013 Web Scheduler SMTP Server for invitations - non-exchange env

    We cannot get the Lync 2013 Web Scheduler to send email invites to anyone even after configuring the SMTP server for both the external and internal sites on our one and only front-end (we did the super simple same box install for testing
    purposes).  Yes we have done an IISReset;)  Has the SMTP server configuration process for the now built-in Lync 2013 Web Scheduler changed since the add-on Lync 2010 Web Scheduler?
    BTW, unless we haven't search for the right phrase(s), it seems there is ZERO documentation about configuring this for 2013 - only for 2010.
    HELP!!!

    Hi,
    You can refer to this blog Lync web scheduler without Exchange:
    http://blog.lyncfreak.com/2011/11/02/lync-web-scheduler-without-exchange/
    Note: Microsoft is providing this information as a convenience to you. The sites are not controlled by Microsoft. Microsoft cannot make any representations regarding the quality, safety, or suitability of any software or information found there. Please make
    sure that you completely understand the risk before retrieving any suggestions from the above link.
    Kent Huang
    TechNet Community Support

  • Use-Case for Business Services (Service Without Party) in SAP XI

    Hi,
    I have a synchronous scenario where I am calling a web Service from SAP R/3 via SAP XI. I have designed the Integration Scenario in the Integration Repository, where I created an A2A role for the R/3 System and a B2B Role for the Web Service. For the Web Service Party in the Integration Directory I use a Business Service unterneath 'Service without Party' as the party for the Web Service is unknown.
    I realized that I cannot assign the Business Service to the defined Web Service Role when I want to use the Integrationscenario-Configurator. This only works when I ceate a Party and create the Business Service underneath this Party.
    I understand that this makes sense when I am having a B2B communication like in this case although I don't have a real external Party for the Web Service.
    But I don't understand for which cases I would create a Business Service underneath the 'Service without Party' as internal Systems are known and can be set-up as Business Systems in the SLD.
    Does anybody have such a case where I use an 'Internal' Business Service? And is there any way that I can use such a Business Service in the Business Integrationscenario-Configurator?
    Thanks in advance.
    Alex

    Hi,
    for creatting a communication channel you will have to have either the Business system, Business service.
    For file systems which are generally just servers come under Business service. This is one of the place where you use Business service.
    Regards
    Vijaya
    Message was edited by: vijaya kumari

  • Business service for file to rfc

    hi
    can someone tell me the business services used for each of the communication channels and their inbound outbound interfaces for Arpit Seth's blog file to rfc synchronous scenario
    this is the url
    RFC Scenario using BPM --Starter Kit
    Edited by: pratichi chauhan on Aug 19, 2008 9:12 AM

    Hi,
    In the RFC Service, Add the Standard Idoc's Message Inetrface name at Receiver TAB only
    that all
    You can Implement the same Scenario with out BPM also
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/xi/file-rfc-file%28without+bpm%29&
    Regards
    Seshagiri
    Edited by: N V Seshagiri on Aug 19, 2008 10:11 AM

  • How do I build a dynamic business service URL in OSB 11g?

    Hello,
    I am used to using the business service endpoint URIs that we configure on the Transport tab of our business services in OSB 11.1.1.6.  We can add multiple static entries here for load balancing, and we can overwrite these with a Customization File as we migrate through DEV, TEST, PROD.  Everything's just fine there.
    I now need to start consuming RESTful services with dynamic URLs such as:
    http://host:port/customer/{customerId}
    that would result in HTTP calls to values like:
    http://host:port/customer/12345678
    and
    http://host:port/customer/55555555
    I see that I can build the URI using the Routing Options action in our proxy message flow and throw in all of those variable values at runtime.  This is working in DEV just fine.  And, effectively, I've overridden the business service endpoint URIs that we configured in the Transport.
    But now I want to:
    1) Use multiple endpoint URIs for our cluster
    2) Deploy to TEST
    What is the proper way to do this?  I would guess in the business service endpoint URIs in the customization file, but I don't know how to parameterize those.  I would also guess customization file find/replace functionality to change the host:port in my Routing Options action, but then that would still be just a single-node endpoint and not a pointer to multiple servers in our cluster.
    Can someone please advise the best way to configure these dynamic URLs at runtime while still allowing for clustered endpoints and for customization files to be applied as we promote through our environments?
    Thank you,
    Michael

    Found some old code.
    I think you need to do
    property_text = "#"^variable_text
    then you can do the following
    property_list[1][property_text]
    That seemed to work.

Maybe you are looking for