Error using tuxedo proxy services in a cluster
We have successfully created proxy services using tuxedo transport in single server ALSB configurations.
We are now installing ALSB 2.6 in a cluster, and we cannot make the service work. We have configured WTC in all the servers of the cluster.
When we invoke the service, we get the following error in the log
####<Feb 19, 2007 4:32:00 PM CLST> <Error> <TuxedoTransport> <quintay> <ALSB1> <[ACTIVE] ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1171913520640> <BEA-381600> <Exception in TuxedoTask, java.lang.NullPointerException
java.lang.NullPointerException
at com.bea.wli.sb.transports.tuxedo.TuxedoTask.service(TuxedoTask.java:107)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at weblogic.wtc.gwt.InboundEJBRequest.run(InboundEJBRequest.java:467)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
Any help or workaround? Is it possible to use tuxedo transport in a cluster configuration? Other problem we have seen is that the ALSB console only allows us to deploy the service in one local domain. How can I deploy the service in all the wtc servers?
Thanks in advance
Mauricio Palma
Yes, BEA released a patch which solves partially the problem, now we can invoke the proxy service from tuxedo. There are some features missing (for example, we have to configure a separate proxy service in each node of the cluster, with different names, and then import every service from tuxedo, so we cannot do fault tolerance).
I don't know if the patch is available, we had to create a support case with BEA.
Similar Messages
-
Extracting MIME attachment from email using OSB proxy service - email transport
Hi,
I'm reading email messages(multipart/mixed) with attachments(pdf, zip, xml and csv) from MS Exchange Server 2010 using OSB proxy service email transport.I need to save the attachments to a local folder and process one of the attachments, an XML file. Below is the proxy service config.
Proxy Service Configuration (Test1/Proxy Services/GetEmail)
Actions:
General Configuration
Service Type Messaging Service
Message Type Configuration
Request Message Type
Text
Response Message Type
None
Transport Configuration
Protocol email
Endpoint URI mailfrom:mailserver.net:143
Get All Headers No
Headers
EMAIL Transport Configuration
Email Protocol imap
Service Account Test1/Proxy Services/email_acc
Managed Server WLS_OSB1
Polling Interval 30
Read Limit 2
Pass By Reference false
Pass Attachments By Reference false
Post Read Action move
IMAP Move Folder processed
Attachments archive
Download Directory \\soasup-stor01\Vacancy\test\download
Archive Directory \\soasup-stor01\Vacancy\test\archive
Error Directory \\soasup-stor01\Vacancy\test\error
Request Encoding iso-8859-1
Message Handling Configuration
Transaction Required Disabled
Same Transaction For Response Disabled
Content Streaming Disabled
The polling is working fine. I've encoded the attachment variable to Base64 using a java callout.$attachments/ctx:attachment/ctx:body/ctx:binary-content has been passed as the byte[] input to the java method and the response is captured in $encodedAttachment. I've created a SaveFile BS(file type) with Request Message Type = Binary and Response Message Type = None. I've tried replacing the node ./ctx:binary-content in body variable with encodedAttachment in the request action of the Publish action to call the BS. One file is getting created with contents of the entire email, MIME headers and boundary parts along with the base64 encoded attachments.
<Contents from the created file>
MIME-Version: 1.0
Content-Type: multipart/related; boundary=MIME_Boundary;
type="binary/octet-stream"
--MIME_Boundary
Content-Type: binary/octet-stream
Content-Transfer-Encoding: 8bit
Thanks & Regards,
Samyajit Talukdar
: [email protected]
-----Original Message-----
From: Samyajit Talukdar
Sent: 10 April 2015 14:11
To: MS MLRP Returns
Subject: FW: 22222
Thanks & Regards,
Samyajit Talukdar
: [email protected]
--MIME_Boundary
Content-Type: application/vnd.ms-excel; name="soainfra_v$session.xls"
Content-Transfer-Encoding: base64
Content-Description: soainfra_v$session.xls
Content-Disposition: attachment; filename="soainfra_v$session.xls";
size=25618; creation-date="Thu, 27 Nov 2014 09:56:35 GMT";
modification-date="Fri, 10 Apr 2015 09:28:23 GMT"
0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAA
EAAAJgAAAAEAAAD+////AAAAAAAAAAD/////////////////////////////////////////////
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAA=
--MIME_Boundary--
If I put a delete action in the request to Publish action for SaveFile BS to delete the $attachments, the created file contains only the email body part and the attachment boundary part is missing.
I've uploaded the OSB log with full trace enabled.
How can I pass the encodedAttachment to the BS for saving the files?
Would iterating through the $aatachment/ctx:attachment give me the individual attachments for saving and processing, as there are separate binary-content refs in them?
Any help to achieve my requirement is highly appreciated.
Thanks in advance.Hi Manoj,
Thanks for the quick reply to my query.
The thing is, the link you have provided talks more from changing the business Service configurations i.e. the type of the service etc, but the concern is, that the Business Service is already Implemented and hence the change would not be an appropriate option for me.
Please let me know, if any more information is required.
Thanks & Regards,
Anu -
OSB - how to handle poll file error in FTP Proxy Service
I configed a proxy service to poll file from a FTP server.
How can I capture the error when the proxy service cannnot poll? (FTP server is down, folder not found, username invalid, etc )
I want to make it show in the Operations >Message Reports table.It is not possible. Those errors will only be logged to logfile.
Manoj -
Why do we use reverse proxy for Oracle RAC Cluster setup
Hello All,
I got this question lately.. "why do we use reverse proxy for Oracle RAC Cluster setup". I know we use the reverse proxy at Middleware level for multiple security reasons.
Thanks.."why do we use reverse proxy for Oracle RAC Cluster setup".
I wouldn't. I wouldn't use a proxy of any sort for the Cluster Interconnect for sure.
Cheers,
Brian -
Handling Transport Errors in OSB Proxy Services
Hi,
I have a requirement of storing and handling Transport level Security Errors in my proxy services . In fact, my proxy services are secured with HTTP Basic Authentication and i am not able to catch authentication errors. I added a Service Error Handler to my proxy service but unfortunatly it doesn't handle these errors.
Does anyone know how can we catch these errors in OSB, and if it is possible to execute activities like alerts, reports, logging in these cases.
I read in some blogs that Error handlers are nested like this : Route Node -> Proxy Service -> System Error Handler
so maybe it would be good to customize the System Error Handler Behavior. I don't know if this is possible.
Any help will be appreciated.
Best regards
FaroukTransport level authentication is done at transport layer even before the actual proxy service gets initiated. So you wont be able to catch authentication errors in the proxy service (and do alerting/logging/reporting etc). You can probably try enabling debug logging for HTTP protocol and see if you can capture these errors in the Access.log of the servers.
-
Osb - bind error handler to proxy service
Hi!
I have got a proxy service which polls a POP3 server to download emails and process them.
My question: How could I bind an error handler to proxy service for noticing when the POP3 server is not available?
So I would like to put an alert when the OSB looses the connection to email server. I tried to put an error handler to top component on message flow but it doesn't work...
Could anyone help me?
Thanks!
ViktorFor poller transports (email/File/FTP etc) it is not possible to catch errors of transport layer, in your service error handler. Re: OSB - Error Handler in FTP Transport for TransportException
Thanks
Manoj
Edited by: Manoj Neelapu on Jun 28, 2010 3:51 PM -
Dynamic orchestration using multiple proxy services
The project I am currently on is using ALSB for service orchestration. For a given orchestration, we would have one orchestration proxy (the control center), that synchronously calls a sequence of alsb proxy services.
Each proxy service in this second level fronts one or more business service calls to perform a specific operation ("Create Account", "Create User", etc.).
So far so good, all this can work just fine (and much of it is already working in production). The trick that I am trying to make happen currently, is to dynamically load the list of second-level proxies and loop through the list to trigger calls.
Loading a list of proxy paths/names is no problem, I have many options there. It's when I try to take that list and loop through it, calling each proxy on the list that I am stuck.
Unfortunately, it appears I could have three routing choices and none of them work:
1. Service Callouts only work with a static service name, not a dynamic one (so even if I had a for-each loop around a Service Callout action, it doesn't do me any good).
2. Dynamic Publish actions are asynchronous only
3. Dynamic Routing actions inside Route nodes work, except that only one can exist per proxy service.
Am I missing anything? Is there some way to get ALSB to accept dynamic synchronous invocation of multiple proxy services from one orchestration proxy service?
Meghan Pietila
Granite Consulting, Inc.
MinnesotaA way of Invoking a dynamically chosen proxy service (PS) synchronously could be the following.
Service Callout actions are synchronous, so ALSB will block in PS2 (PS=proxy service) when it does the invocation of PS1.
Assuming the following very simple scenario (I hope to have understood correctly your case):
OPS = orchestration proxy service
case1: OPS -> PS1 -> PS3 -> ...
case2: OPS -> PS1 -> PS2 -> ...
where each PSi calls one or more business service (I suppose that the business services called in each PSi are called in a predefined order), so what is changing from one case to another is the sequence of PSi to be called.
I've setup the following ALSB project:
- OPS proxy services
- PS1 .. PS4 proxy services
- a proxy called 'step'
- a xquery called 'routing'
The idea is to call, from OPS, another proxy (the 'step' proxy) in a synch way (service callout) passing the information of what proxy should be called dynamically.
In the 'step' proxy then I create the <route><service> XML fragment, for the Dynamic Route action. This <route><service> XML fragment will point to the configuration of yet another proxy service (PSx), that is the PSx that I want to call.
One limitation is that I assume that your OPS always calls for example 2 proxies which name is resolved dynamically.
About the xquery:
<routing>
<case name="1">
<node>PS1</node>
<node>PS3</node>
</case>
<case name="2">
<node>PS1</node>
<node>PS2</node>
</case>
</routing>
OPS performs the following steps:
- chooses what is the case: 1 or 2
- does 2 service callout to the proxy called 'step' passing each time the correct node to be called
$routing/case[@name=data($case)]/node[1]
$routing/case[@name=data($case)]/node[2]
In the 'step' proxy I do a dynamic publish to desidered PS:
<route xmlns="http://www.bea.com/wli/sb/context">
<service isProxy="true">{ $proxyToBeInvoked }</service>
</route>
where the proxyToBeInvoked variable is built from the node received by the caller.
I've used this approach in a solution currently under development but I've found some problems when I want to receive back in OPS the error raised by any PSi: I'm able to catch the error but I'm not able to receive back the detailed error like in an usual stack trace.
I hope that could be useful.
Regards
ferp -
Hi,
I'm new to ALSB and created a weblogic webservice and imported it as a WSDL resource. This is then used for creating a business service. Now, I have a proxy service which take string as input (configured 2 proxy services, one takes from jms request queue and other from http request ) and depending on the string value, it will call the different method in the business service.
When I tested it in the ALSB console, it is able to call the correct method in business service depending on input parameter. but always throw a error with http response code of 500. And it changed the $body with a Fault string of "Failed to get operation name for incoming request".
If am able to test the business service in the alsb console successfully, why am not able to test the proxy service from the console?
Thanks in advance for your help.I might need a bit more info here but it seems you are not setting the 'header' and 'body' variables correctly when calling the business service.
Assuming your service is SOAP1.1, you need to assign valid soap body and header(optional) to those variables inside your route action.
If you open the test console for the business service you should get the payload xml needed for the service. In the proxy, you will need to wrap that with <soap-env:Body> (soap-env is a pre-saved namesapce) and assign it to 'body'.
If you have already done that then I defiantly need more info.
Ryan -
File-to-Idoc error (using business sender service)
Hello,
My scenario is Flat file to IDoc. I am using a business service as my sender system. I did put in a logical system name in the business service and I have added the logical system in SALE.
The error I am getting is <SAP:Code area="IDOC_ADAPTER">ATTRIBUTE_IDOC_METADATA</SAP:Code>
<SAP:P1>MSGGUID 526719BA7E874E3906EEF45B43806D5C: Tag CULL_GR_RECORD found instead of tag IDOC BEGIN=</SAP:P1>
This is confusing to me because the CULL_GR_RECORD is the name of my data record of the file that is converted into an idoc within XI.
Can someone please help me with this? I would really appreciate it. I need to solve this tonight.
Thank you.Hi,
>><i> I am using a business service as my sender system.</i>
This is fine as ur sender is file.
I suggest deleting the matadata in IDX2 and then rerun the entire interface.
Make sure ur IDoc is imported properly to the IR. If yes, test ur mapping locally once.
Regards,
Divija. -
Sending Message from Topic1 to Topic2 using OSB proxy service
Hi all,
I have created a proxy service which listens to a topic and a business service which writes to a topic.
In proxy service, in stage i have used publish action to call the business service.
Through Test console if i test and able to write the message to Topic2.But, when i created a message in Topic1 from weblogic console i'm not able to send the message to Topic2.
Am i missing any configuration in Topic?
Please help.
ThanksThanks vlad and anuj for your replies.
proxy service is listening to topic when i insert the message from other business service.
If i directly enter the message in Topic from weblogic console it's not picking up the message.
What can be the reason for this??
I have one more doubt. can we call a asynchronous soa composite (BPEL) from OSB.Service callout specifies that it cannot invoke a one way process.Which component can we use to call a asynchronous process?
Thanks.
Edited by: 947423 on Jul 23, 2012 3:52 AM -
How to forward message to two different queue using jms proxy service
Hi all,
In my project I need to listen to one jms queue then forward the messages to two different queue.
Now I already made one proxy for listening to the queue then pass it to another queue using business service, It works.
But how to forward the messages to two different queue in same flow process using one proxy and bs??
or any other way?
Really thanks in advance.
Regards,
KahlilHi,
I have a MQ queue and i created a Proxy to listen to the queue , but i dont see any activity in OSB logs ..how do i knw if OSB proxy is polling that MQ ( mq is the transport protocol that i am using ) .
Thanks
Prarthana. -
OSB Proxy Service deployed in cluster environment FTP issue
Hi,
I have a OSB 11g proxy service based on a FTP JCA adapter. Here are the JCA settings:
<connection-factory location="JNDI_FILE_TOKEN" UIincludeWildcard="FILENAME_TOKEN"/>
<endpoint-activation portType="Get_ptt" operation="Get">
<activation-spec className="oracle.tip.adapter.ftp.inbound.FTPActivationSpec">
<property name="DeleteFile" value="true"/>
<property name="MinimumAge" value="0"/>
<property name="PhysicalDirectory" value="FOLDER_TOKEN"/>
<property name="Recursive" value="false"/>
<property name="PollingFrequency" value="30"/>
<property name="FileType" value="ascii"/>
<property name="IncludeFiles" value="FILENAME_TOKEN"/>
</activation-spec>
</endpoint-activation>
When I deploy this proxy in a cluster (having 2 osb nodes) and place the very first file on FTP server. Both nodes pick the file simultaneously. But after this when I place files on FTP server only one node is picking file. Could you kindly tell where is the issue ?
Thanks and RegardsHi Mani,
Do check the configuration of ProxyService-2 that it is enabled or not.
Do check the input payload of it, that ProxyService-1 is passing the correct payload to ProxyService-2.
Redeploy the ProxyService-2
There is some issue in your proxyService-2.
Regards,
Richa -
Which service type to use for Proxy Service
I have a question regarding a Proxy service.
I have a need for a local (transport local) Proxy service which is called by another proxy service.
It is a synchronous service which has an XML incoming message and an XML outgoing message.
I have the following questions:
- Does it make a difference in performance when I choose a WSDL webservice or a Messaging service?
- Which one would you choose and why?
ThanxDoes it make a difference in performance when I choose a WSDL webservice or a Messaging service?Hardly there would be any difference.
Which one would you choose and why?I would choose XML type messaging type proxy because input and output are XML messages. I won't choose WSDL web-service because it should be used in case of SOAP packagaing only (in web-service context, to enable SOAP and WS support) to mock a web-service which has a WSDL (and a XSD) associated with it.
Regards,
Anuj -
How to use Tuxedo's services from an EJB: Jolt x JET ?
Hi.
Can anyone tell me if an EJB MUST use JET (instead Jolt) to access Tuxedo services
Suppose the following case:
We have a client using JNDI service to obtain an EJB.
In my client i invoke the appropriate methods to create a jolt session and to
start a jolt transaction. My EJB Bean only call Tuxedo services (using Jolt).
Will this application work ? Will EJB code use the transaction created by the
client code ? Will a transaction context exist ?
Thanks in advance.Hi Daniel,
If you mean WebLogic Server 5.1 by WL 5.1 (instead of WebLogic Enterprise), then
yes, you need to use Jolt until you upgrade to a later release of WebLogic Server.
WTC wasn't fully supported until WebLogic Server 6.1 and later.
The transaction context of the container Jolt is being used in is not extended
to the Tuxedo system. Jolt can be used to start a new and separate transaction
in Tuxedo, but that transaction and the containers current transaction will not
be coordinated.
I'm not sure what you mean when you say:
The transaction management when using Jolt is realized for Jolt API.
There is no relantionship between Jolt transactions and Tuxedo transactions.
Is this rightThe transaction management when using Jolt is transaction management of
the Tuxedo system you are talking to. Jolt is a client side API that uses a
delegated model for transactions. So a transaction started with Jolt starts
a transaction in Tuxedo, but does not affect the transaction context of the
environment the client, i.e., the place where the Jolt call was made. So if
you are using Jolt inside an EJB hosted in the EJB container of WebLogic
Server, the Jolt calls will have no impact or effect on the transaction state
of the EJB.
Regards,
Todd
"Daniel" <[email protected]> wrote:
>
Ok.
We have EJBs running in Weblogic and they are using Tuxedo services.
We have used Jolt instead WTC because we are running WL 5.1. Can i
use WTC with WL 5.1 ?
The transaction management when using Jolt is realized for Jolt API.
There is
no
relantionship between Jolt transactions and Tuxedo transactions. Is this
right
Thanks in advance.
"Todd Little" <[email protected]> wrote:
"Daniel" <[email protected]> wrote:
Hi.
Can anyone tell me if an EJB MUST use JET (instead Jolt) to access
Tuxedo
services
? You can use either Jolt or preferably use WTC and JATMI.
Suppose the following case:
We have a client using JNDI service to obtain an EJB.
In my client i invoke the appropriate methods to create a jolt session
and to
start a jolt transaction. My EJB Bean only call Tuxedo services (using
Jolt).Why is the client creating a Jolt session and transaction? They will
not be associated
with the EJB's execution. The client's Jolt context is not propogated
to the
EJB. Can you explain what it is you want to do? What do you want included
in
the transaction?
Will this application work ? Will EJB code use the transaction created
by the
client code ? Will a transaction context exist ?Well I suppose it depends upon what you mean by work. It comes down
to what are
you trying to accomplish. The client is a WLS client? Is the EJB a
client of
some Tuxedo service? If those are both true, then you would be best
served by
controlling the transaction with the EJB's deployment descriptor and
having the
EJB use WTC to access Tuxedo. WTC will take of propagating any required
transaction
state to Tuxedo.
Regards,
Todd -
Transaction Update Error using ABAP Proxy
Hi Experts,
I am facing an issue using ABAP Proxy.
File is coming from PI to SAP system and it will update the Transaction IE02 using this inbound ABAP Proxy. If records fails then a mail is going to concerned team.
Issue:
When File has been sent from PI to SAP through ABAP Prxoy, it shows that record has been updated in the Transaction IE02 but when I checked manually the record, it has not updated the same. But when I test the same record through my ABAP Prox, it updates the record and when I checked it, Reocrd hs been updated.
Can anybody help me in this case?
Regards
SachinHi Anup,
Can you please explain me for the same? If I need to put External Commit then how It is working when I running it manually
Regards
Sachin
Maybe you are looking for
-
When I login at startup a random folder opens
Ok, this is weird. First of all this is my first Mac and I'm having a really difficult time figuring something out. Before I do a shutdown I will close every finder window and program. The next time I turn my computer on and login I will be greeted w
-
Itunes will no longer accept any of my credit cards. It says vcode doesn't match when it does. Customer service is no help. I have re-inputted the info in the account section of the apple store and in itunes--still says vcode doesn't match.
-
Can I change the word "permalink" in "Blog Post List Layout"
What I actually am trying to achieve is a "read more" button that I can style. The only tag I found is the {tag_permalink}. I can put this in a div for styling. But it results in a button with the word "Permalink" which is confusing. Now I am looking
-
Regarding Line Item Selection and product category
Hi Experts, We are having a requirement in Line Item Selection in Oppurtunity.The requirement is that we need to display only the product categories belonging to that particular company(for eg Product Categories belonging to Company X) by restricting
-
If spell check in ibooks author is wrong will apple review not accept it?
In my book I mention the Chinese energy and movement art chi gung. It is also known as chi kung or qigong. It seems ibooks spell checker recognizes chi kung and qigong. But it doesn't recognize chi gung which is the correct spelling from the teaching