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
Similar Messages
-
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 -
JSSE causes OSB business services to receive Socket Closed
Using WL 10.3.3 & OSB 11gR1 on jrockit 1.6.0_45 Redhat:
After enabling the "Use JSSE SSL" option in the managed servers's SSL tab ( because web service clients want to use SHA256 certificates ), OSB business services ( outbound to service providers ) fail with
Exception - Body: <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Fault xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
<faultcode>BEA-380000</faultcode>
<faultstring>General runtime error: socket closed</faultstring>
After a lot of debugging, I've found that the Connection Timeout option within the OSB HTTP transport is involved.
OSB business services which use https AND have a non-zero value for HTTP transport's Connection timeout cause the Socket Closed error.
Business services which do not use HTTPS or do not have a Connection Timeout do not receive the error.
While setting the Connection Timeout to 0 allows the transaction to succeed, that leaves the OSB server vulnerable when the service provider host is not available.
So I've reset the Connection Timeout values to 0, and added this JVM parameter to each OSB managed server
-Dweblogic.http.client.defaultConnectTimeout=5000There are few BUGs reported for similar issues.
OSB Server Showing "java.io.IOException: SSLEngine is closed" When Attempting to Connect to an External Web Service Using Two-Way SSL (Doc ID 1465618.1) -
Unable to create a business service from a jca file
I have taken a jca file of a file adapter from Oracle JDeveloper and I am trying to create a business service though eclipse for OSB.
But I am unable to create a business service as the jca protocol is NOT available in the "Transport Configuration" section of a business service.
I have got OSB 11.1.1.3 and wls 10.3.3.0 installed along with the corresponding integrated eclipse(oepe_11gR1PS2).
Pls suggest!Refer this for the solution
Business service NOT getting configured from jca file in Windows 7 -
OSB Business Service Work Manager Doesnt Throttle
Hi,
I have a requrirement to throlle the number of concurrent requests going to an end point.
So i have used OSB business service where in i am calling an end point webservice, and configured a work manager in console and selected it in the dispatch policy
I deployed the workmanager on managed server. i specified max concurrent threads as 3.
I tried to test it and see that throttling doesnt really work.. All the requests sent are being sent at once not 3 at a time.
The expected behavior is first 3 sdhud go and then onc ethey complete next 3 similary next 3. But i dont see that behavior. Please let me know if i am doing any worng
below is my work manager configuration
Service Type Any XML Service
Transport Configuration
Protocol http
Load Balancing Algorithm round-robin
Endpoint URI <Specified the end point URI>
Retry Count 0
Retry Iteration Interval 0
Retry Application Errors Yes
HTTP Transport Configuration
Read Timeout 0
Connection Timeout 0
HTTP Request Method POST
Authentication None
Proxy Server
Follow HTTP redirects Disabled
Use Chunked Streaming Mode Enabled
Dispatch Policy WorkManagerTest
Message Handling Configuration
XOP/MTOM Support Disabled
Page Attachments to Disk No
Result Caching Not Supported
Any suggestions on this?
Edited by: 791951 on Mar 17, 2011 7:51 AMIf you need to throttle the Business service, then you should configure the throttling parameters in the Business Service -> Operational Settings tab
Choose your Business Service in the OSB Console -> Operational Settings
Throttling -Check this box to enable the throttling. Maximum Concurrency to 3, and Throttling Queue to x number of messages you wish to hold in the throttling queue -
OSB business service transforming a date column 1936 to 2036 ( 1950)
Hello, I'v a database view with a normal date column "geburtsdatum".
Data Dictionary:
GEBURTSDATUM DATE
Now with JDeveloper I create a db-adapter. This works fine.
On OSB I do generate a business service on the just created jca file. Also this works fine.
XSD for db adapter:
<xs:element name="geburtsdatum" type="xs:dateTime" minOccurs="0" nillable="true"/>
I can test this business service successfully, everything is fine, but not the date interpretation when birtdate <1950
Sample geburtsdatum (birtdate): 29-JUL-1934
DATABASE: 29.07.1934
OSB Business Service: 29.07.2034
Why or where happends this date conversion?
This is very strange, anyone had the same problem?
Any help would be appreciated.
Thanks
Best regards,
RetoAfter all I found the solution. Again the problem has been caused on DB side.
I'm using a view. On this view I had a DATE column with a decode. I think I did a clean TO_DATE casting, but it seems as the OSB DB Adapter did not interpret this correctly.
(on database side with SQL I did not have any problems here)
My solution was:
Using a date returning function (which does my decoding) in my view :
CREATE VIEW xyz AS
SELECT ...
, myPackage.removeMaxDate(n.geburtsdatum) as geburtsdatum
FROM ...
Regards,
Reto -
OSB Business service not getting created
Dear team,
We created a db adaptor which invokes a DB procedure with input paramter as tabletype .
Db procedure and tabletype are in same schema .
We are trying a generate a Business service based on jca file. We are getting error
"Error while retrieving information from JCA file".
Can you please suggest1. What instrument did you use for creating Business Service?
2. How did you create the Business Service step by step?
3. Can you please attach JCA, WSDL, XSD for Db procedure? -
OSB business service and NTLM authentication
Hi,
Is there a solution to use OSB business service with http transport and this bs authenticates itself with NTLM
thanks EdwinHi Manoj,
We want to connect our production esb to the ERP ( IFS) system and we want to do this with the OSB. The ERP system has a lot http services and they are all running on jboss. On this app server they have enabled ntlm so users can their account to fill in there project hours /administration.
I got this working with a authenticator in a jdeveloper 11g web service proxy client. ( http://biemond.blogspot.com/2009/04/jax-ws-web-service-proxy-client-and.html )
thanks Edwin -
Using UDDI key in OSB business service
Hi All,
I want to know how to invoke a service published in Oracle service registry through dynamic lookup in OSB. I tried importing service published in OSR as a OSB business service through sb console. In that the business created had the actual service end point reference rather than the UDDI service key. Hence the changes done to the service endpoint in OSR wont get automatically propagated to the osb business service as there is no actual dynamic look up.You will need to setup the Target system's server certificate as trusted in Weblogic's keystore or the Root CA certificate which certified target system's server certificate as trusted CA in weblogic.
Check this thread for more details:
Callling an external service through HTTPS -
How to Define MQ message expire time in OSB Business service.
Hi,
Please let me know the option in OSB business service to set the expiration time for MQ messages. Is it possible?
Thanks,
karthik.http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/mqtransport/transport.html
transport header "Expiry"
i hope it works :o) -
Set timeout for URL connection in java1.4
hi
I want to set timeout for URL connection in java 1.4..
java 5.0 provides with a setTimeout(int ) method but how should it be done in 1.4 environment
Thanks in advance
snehasun.net.client.defaultConnectTimeout (default: -1)
sun.net.client.defaultReadTimeout (default: -1)
See the [Networking Properties|http://java.sun.com/j2se/1.4.2/docs/guide/net/properties.html]. -
OSB Business Service is not timing out on Connection/Read timeout
I have a weird problem with my business service in OSB. I have set the read timeout value as 1 sec and Connection timeout value as 1 sec. The response from backend is taking more than 2 seconds or even 3 seconds but still my business service is not timing out..! My service is still listening to the response from backend even if it comes after 3 seconds. I expect it to timeout after 2 seconds. Any ideas?
Business Service Configurations:
Service Type: Any type
Protocol: http
Retry count : 0
Retry Application Errors: No
Read Timeout: 0
Connection Timeout: 0
HTTP Request Method: POST
Result Caching: No
Let me know if you need any more information. Thanks in Advance.
Regards
KaleemAbhishekJ wrote:
Maximum possible successful response time of the service will be less than Read TO + Connection TO.
Alas, this is not true.
Maximum possible response time is infinity.
There are two reasons for that.
1. Read timeout is not counted as time from the successful connection establishing to the current moment. It is measured as time from the last received byte to now. Imagine a backend service that sends a single byte in a data packet every 500ms. Despite you have read timeout set to 1, the receiving of 3K message will take 25 minutes, and yet your Biz service will not timeout.
2. In HTTPS, handshake is handled by a separate library which has its own quirks. Specifically, if the key exchange is broken at particular point of handshake, the library re-establishes the connection and does it few times; in my experiements, the largest I could delay the eventual fault was about 3 minutes.
Having said that, in the OP message the configuration is Read=0, Connect=0, so I wonder why the timeout is expected. -
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
WenThanks,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 -
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.3Are 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. -
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 PMHi..
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.
Maybe you are looking for
-
Cannot send mail from iPhone using Godaddy account/email
Was working perfectly until recently. Incoming mail still ok. Now get error message when sending mail "Cannot Send Mail - The connection to the outgoing server "smtpout.secureserver.net" failed. Have tried various fixes including using cwmx.com serve
-
LR hangs when after editing .tif image try to edit .NEF file
LR CC Trial hang ups after: Open LR CC Edit .tif file created by PS CC trial Go back to the grid of thumbnails Edit (try) a .NEF I am working with a catalog ex LR 5.4 This is the four time in a row that happens this. Both photos are "normal" files (n
-
Help with data imports and identifying correct contact
Hi Guys, I am looking to import some data from a csv into a table called 'interactions' This table is linked to contact via a 1-to-many relationship. when I am importing data often I get errors saying that it cant determine which contact to use becau
-
Unable to find Camera raw plug-in in new Elements 8 on a Mac
I have a Mac Snow Leopard and a Nikon D700 camera In checking which version of camera raw is in my newly purchased {Photoshop Elements 8) I checked the plug-in folder. Just in case I also checked Photoshop Elements 8 Pre-set and filter folders No ca
-
10.6 Performance Problems
Although I installed Snow Leopard from scratch, I encountered severe performance problems after a while. To copy a file, for instance, took minutes instead of seconds for a some 100 MB file. To switch between windows took long time. The processing wa