Quantcast

Preferred process for complex transforms of objects as compared to primitives using BPEL?

classic Classic list List threaded Threaded
15 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Preferred process for complex transforms of objects as compared to primitives using BPEL?

wobster
I've been through many of the documented BPEL-based integration examples and worked through problems on my own as well, but I've noticed that the mapper tends to be primitive-centric. What if you need to transform a group of variables using a complex transform written in Java to another object? Can the BPEL process support that type of scenario? I imagine the BPEL process would send the complex type to an external process (Web service, POJO, JEE) and then get a new complex type that could be assigned to the output as the reply?

Also, what if there is a binary attachment (say JPEG converted to ASCII art) to the XML that needs transformation as well, could this be modeled in the BPEL editor?

Thanks,

Rob
 

Rob Ratcliff
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Preferred process for complex transforms of objects as compared to primitives using BPEL?

Paul Perez
Administrator
Hi Rob,

As far as I understand, BPEL has been design to run (or play) with messages defined through WSDL. So this means that BEPL can deal with XML documents only. So in the mapper you find basic tool that simplify the "copy" command defined in the BPEL Specification and no more.

So BPEL has not be designed to manipulate or transform binary data or complex structures.
So for your case: JPEG to Ascii, I would recommend you to define a transformer service to do the job and use BPEL to get your JPEG document (from a file BC by example) and send it to the transformer Service.

Let me know if it is useful for you

regards

Paul Perez

www.pymma.com
www.pymma.com The best services on OpenESB
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Big problem with DataBase BC - Procedure Call

SOLDEVILA Fabien
Hello,

I have installed the last stable version of OpenESB : 2.2 (December
2009).

Now, it's impossible for me to call Oracle PLSQL Procedure with DataBase
BC.
Before the last version, I never had this kind of problems (I use the
DataBase BC wizard).

The error is :
javax.jbi.messaging.MessagingException: Error occured while executing
SQL.call EXTEND_WINDOW(?) Reason: Unable to convert normalized message
content to Procedure, Error occured during populating Procedure.Reason:
Index de colonne non valide SQLState: null ErrorCode:17003
        at
org.glassfish.openesb.databasebc.OutboundMessageProcessor.executeOutboun
dProc(OutboundMessageProcessor.java:1711)
        at
org.glassfish.openesb.databasebc.OutboundMessageProcessor.processInOut(O
utboundMessageProcessor.java:743)
        at
org.glassfish.openesb.databasebc.OutboundMessageProcessor.execute(Outbou
ndMessageProcessor.java:285)
        at
org.glassfish.openesb.databasebc.OutboundMessageProcessor.run(OutboundMe
ssageProcessor.java:171)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecuto
r.java:886)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.ja
va:908)
        at java.lang.Thread.run(Thread.java:619)
...
... etc

Can anyone help me ?

In attachment, a very simple BPEL project to demonstrate the problem.

You can create a sample procedure to test the project with this :
CREATE OR REPLACE PROCEDURE EXTEND_WINDOW
(
  SUBSCRIPTION_NAME IN VARCHAR2  
) AS
BEGIN
  NULL;
END EXTEND_WINDOW;

Best regards,

Fabien


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

TestCDC.zip (20K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Preferred process for complex transforms of objects as compared to primitives using BPEL?

wobster
In reply to this post by Paul Perez
Paul,

Thanks for the reply. I am fine with BPEL only manipulating just the XML, but how can the binary attachment or properties of the NormalizedMessage be transferred to another service where mapping is required? (i.e. is there any access to the binary attachments and properties in the BPEL service?)

In regards to the transformer service, will BPEL service transfer the entire NormalizedMessage to that service for conversion and then retain the transformed attachment during the remaining part of the work flow? For instance, what if the BPEL service invoked a service that returned an image as an attachment to the message and then transferred that attachment to various other services. Would the attachment go along for the ride or would it be lost?

Rob
Rob Ratcliff
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Preferred process for complex transforms of objects as compared to primitives using BPEL?

Paul Perez
Administrator
Hi Rob

Did you try to use the binary type defined in the XML Schema specification base64Binary and hexBinary in order to put binary content in your xml message.
 
May these links can be useful for you

http://www.xml.com/pub/a/2003/02/26/binaryxml.html 
http://www.w3schools.com/schema/schema_dtypes_misc.asp 

Regards

Paul Perez
www.pymma.com

www.pymma.com The best services on OpenESB
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

RE: Big problem with DataBase BC - Procedure Call

SOLDEVILA Fabien
In reply to this post by SOLDEVILA Fabien
Hello,

Anyone have a solution for me ?

Help !
:)

Best regards,

Fabien


-----Message d'origine-----
De : SOLDEVILA Fabien [mailto:[hidden email]]
Envoyé : mardi 23 février 2010 17:14
À : [hidden email]
Objet : Big problem with DataBase BC - Procedure Call

Hello,

I have installed the last stable version of OpenESB : 2.2 (December 2009).

Now, it's impossible for me to call Oracle PLSQL Procedure with DataBase BC.
Before the last version, I never had this kind of problems (I use the DataBase BC wizard).

The error is :
javax.jbi.messaging.MessagingException: Error occured while executing SQL.call EXTEND_WINDOW(?) Reason: Unable to convert normalized message content to Procedure, Error occured during populating Procedure.Reason:
Index de colonne non valide SQLState: null ErrorCode:17003
        at
org.glassfish.openesb.databasebc.OutboundMessageProcessor.executeOutboun
dProc(OutboundMessageProcessor.java:1711)
        at
org.glassfish.openesb.databasebc.OutboundMessageProcessor.processInOut(O
utboundMessageProcessor.java:743)
        at
org.glassfish.openesb.databasebc.OutboundMessageProcessor.execute(Outbou
ndMessageProcessor.java:285)
        at
org.glassfish.openesb.databasebc.OutboundMessageProcessor.run(OutboundMe
ssageProcessor.java:171)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecuto
r.java:886)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.ja
va:908)
        at java.lang.Thread.run(Thread.java:619)
...
... etc

Can anyone help me ?

In attachment, a very simple BPEL project to demonstrate the problem.

You can create a sample procedure to test the project with this :
CREATE OR REPLACE PROCEDURE EXTEND_WINDOW (
  SUBSCRIPTION_NAME IN VARCHAR2
) AS
BEGIN
  NULL;
END EXTEND_WINDOW;

Best regards,

Fabien


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

RE: RE: Big problem with DataBase BC - Procedure Call

SOLDEVILA Fabien
Hello,

In fact my problem appears when I want calling Procedure on a package where the procedure exists twice with 2 different parameters.

For example :

create or replace
PACKAGE PACKAGEFAS AS
PROCEDURE TESTPROFAS
(
  SUBSCRIPTION_NAME IN VARCHAR2  
);
PROCEDURE TESTPROFAS
(
  SUBSCRIPTION_ID IN NUMBER  
);
END PACKAGEFAS;

CREATE OR REPLACE
PACKAGE BODY PACKAGEFAS AS
PROCEDURE TESTPROFAS
(
  SUBSCRIPTION_NAME IN VARCHAR2  
) AS
BEGIN
        NULL;
END TESTPROFAS;
PROCEDURE TESTPROFAS
(
  SUBSCRIPTION_ID IN NUMBER  
) AS
BEGIN
    NULL;
END TESTPROFAS;
END PACKAGEFAS;

OpenESB, with the DataBase wizard, generate a xsd with two elements on the request part : SUBSCRIPTION_NAME and SUBSCRIPTION_ID. I delete the SUBSCRIPTION_ID element.
OpenESB generate also a wsdl with two parameter ExecutionString="call PACKAGEFAS.TESTPROFAS(?,?)". I delete one "?".

On OpenESB 2.1, this manual operation work fine.
On OpenESB 2.2, I've got the error.

If anyone have a solution for me.

Best regards,

Fabien





-----Message d'origine-----
De : SOLDEVILA Fabien [mailto:[hidden email]]
Envoyé : jeudi 25 février 2010 09:09
À : [hidden email]
Objet : RE: Big problem with DataBase BC - Procedure Call

Hello,

Anyone have a solution for me ?

Help !
:)

Best regards,

Fabien


-----Message d'origine-----
De : SOLDEVILA Fabien [mailto:[hidden email]]
Envoyé : mardi 23 février 2010 17:14
À : [hidden email]
Objet : Big problem with DataBase BC - Procedure Call

Hello,

I have installed the last stable version of OpenESB : 2.2 (December 2009).

Now, it's impossible for me to call Oracle PLSQL Procedure with DataBase BC.
Before the last version, I never had this kind of problems (I use the DataBase BC wizard).

The error is :
javax.jbi.messaging.MessagingException: Error occured while executing SQL.call EXTEND_WINDOW(?) Reason: Unable to convert normalized message content to Procedure, Error occured during populating Procedure.Reason:
Index de colonne non valide SQLState: null ErrorCode:17003
        at
org.glassfish.openesb.databasebc.OutboundMessageProcessor.executeOutboun
dProc(OutboundMessageProcessor.java:1711)
        at
org.glassfish.openesb.databasebc.OutboundMessageProcessor.processInOut(O
utboundMessageProcessor.java:743)
        at
org.glassfish.openesb.databasebc.OutboundMessageProcessor.execute(Outbou
ndMessageProcessor.java:285)
        at
org.glassfish.openesb.databasebc.OutboundMessageProcessor.run(OutboundMe
ssageProcessor.java:171)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecuto
r.java:886)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.ja
va:908)
        at java.lang.Thread.run(Thread.java:619)
...
... etc

Can anyone help me ?

In attachment, a very simple BPEL project to demonstrate the problem.

You can create a sample procedure to test the project with this :
CREATE OR REPLACE PROCEDURE EXTEND_WINDOW (
  SUBSCRIPTION_NAME IN VARCHAR2
) AS
BEGIN
  NULL;
END EXTEND_WINDOW;

Best regards,

Fabien


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

RE: Big problem with DataBase BC - Procedure Call

Paul Perez
Administrator
In reply to this post by SOLDEVILA Fabien
Did you try to download a last nightly build ?

Unfortunately, as you did, I face many bug in 2.2 that prevent me from migrating from 2.1 to 2.2.
I hope the community will find quickly a way to finalise the version 2.2

Best regards

Paul Perez
www.pymma.com
www.pymma.com The best services on OpenESB
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

RE: RE: Big problem with DataBase BC - Procedure Call

SOLDEVILA Fabien
Hi Paul,

Thanks for your answer. I don't want use last nightly build of the database BC because I work on a real project with clients. I want use "stable" versions only.

I'm in contact with Sun about that.

Regards,

Fabien Soldevila




-----Message d'origine-----
De : Paul Perez [mailto:[hidden email]]
Envoyé : mercredi 3 mars 2010 11:54
À : [hidden email]
Objet : RE: Big problem with DataBase BC - Procedure Call


Did you try to download a last nightly build ?

Unfortunately, as you did, I face many bug in 2.2 that prevent me from
migrating from 2.1 to 2.2.
I hope the community will find quickly a way to finalise the version 2.2

Best regards

Paul Perez
www.pymma.com
--
View this message in context: http://n2.nabble.com/Preferred-process-for-complex-transforms-of-objects-as-compared-to-primitives-using-BPEL-tp4599065p4666761.html
Sent from the OpenESB Users mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

RE: RE: Big problem with DataBase BC - Procedure Call

Paul Perez
Administrator
Hi Fabien,

I you find the reason for that bug and I hope a solution, could you keep us inform

regards

Paul perez
www.pymma.com
www.pymma.com The best services on OpenESB
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

RE: RE: RE: Big problem with DataBase BC - Procedure Call

SOLDEVILA Fabien
Hi,

Yes, I will give you news about this bug.

Regards,

Fabien



-----Message d'origine-----
De : Paul Perez [mailto:[hidden email]]
Envoyé : vendredi 5 mars 2010 11:23
À : [hidden email]
Objet : RE: RE: Big problem with DataBase BC - Procedure Call


Hi Fabien,

I you find the reason for that bug and I hope a solution, could you keep us
inform

regards

Paul perez
www.pymma.com

--
View this message in context: http://n2.nabble.com/Preferred-process-for-complex-transforms-of-objects-as-compared-to-primitives-using-BPEL-tp4599065p4680014.html
Sent from the OpenESB Users mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

RE: RE: RE: RE: Big problem with DataBase BC - Procedure Call

SOLDEVILA Fabien
Hi,

I have the confirmation by Sun that it's a bug on the product v2.2. This bug wasn't on the version before (2.1).
I will try creating an issue ... If I found where to do that :)

On my project to avoid this problem I must create another procedure in Oracle with a unique name that call the good procedure on the package.

I hope that the bug will be close on futures versions of OpenESB.

Bests regards,

Fabien Soldevila




-----Message d'origine-----
De : SOLDEVILA Fabien [mailto:[hidden email]]
Envoyé : lundi 8 mars 2010 17:25
À : [hidden email]
Objet : RE: RE: RE: Big problem with DataBase BC - Procedure Call

Hi,

Yes, I will give you news about this bug.

Regards,

Fabien



-----Message d'origine-----
De : Paul Perez [mailto:[hidden email]]
Envoyé : vendredi 5 mars 2010 11:23
À : [hidden email]
Objet : RE: RE: Big problem with DataBase BC - Procedure Call


Hi Fabien,

I you find the reason for that bug and I hope a solution, could you keep us
inform

regards

Paul perez
www.pymma.com

--
View this message in context: http://n2.nabble.com/Preferred-process-for-complex-transforms-of-objects-as-compared-to-primitives-using-BPEL-tp4599065p4680014.html
Sent from the OpenESB Users mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Problem with creating an issue

SOLDEVILA Fabien
Hello,

I want creating an issue for the bug describe above ... it's my first time.
On the OpenESB Issue Tracker I've got the choices : Defect, Patch, Task, Feature or Enhancement.

For a new bug, what is the good choice ? Defect ? Patch ? Feature ?
... it's just to create the issue on the good thread.

Regards,

Fabien






-----Message d'origine-----
De : SOLDEVILA Fabien [mailto:[hidden email]]
Envoyé : mercredi 17 mars 2010 15:10
À : [hidden email]
Objet : RE: RE: RE: RE: Big problem with DataBase BC - Procedure Call

Hi,

I have the confirmation by Sun that it's a bug on the product v2.2. This bug wasn't on the version before (2.1).
I will try creating an issue ... If I found where to do that :)

On my project to avoid this problem I must create another procedure in Oracle with a unique name that call the good procedure on the package.

I hope that the bug will be close on futures versions of OpenESB.

Bests regards,

Fabien Soldevila




-----Message d'origine-----
De : SOLDEVILA Fabien [mailto:[hidden email]]
Envoyé : lundi 8 mars 2010 17:25
À : [hidden email]
Objet : RE: RE: RE: Big problem with DataBase BC - Procedure Call

Hi,

Yes, I will give you news about this bug.

Regards,

Fabien



-----Message d'origine-----
De : Paul Perez [mailto:[hidden email]]
Envoyé : vendredi 5 mars 2010 11:23
À : [hidden email]
Objet : RE: RE: Big problem with DataBase BC - Procedure Call


Hi Fabien,

I you find the reason for that bug and I hope a solution, could you keep us
inform

regards

Paul perez
www.pymma.com

--
View this message in context: http://n2.nabble.com/Preferred-process-for-complex-transforms-of-objects-as-compared-to-primitives-using-BPEL-tp4599065p4680014.html
Sent from the OpenESB Users mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Big problem with DataBase BC - Procedure Call

Chris Selwyn
In reply to this post by SOLDEVILA Fabien
The place to raise bugs on GFESB is on the Issue Tracker at
https://open-esb.dev.java.net/servlets/ProjectIssues
You will need to be registered in order to raise issues.

Just FYI...

I am using GFESB 2.1 (actually CAPS 6) and have found that there is a
cursor leak on *every* single Oracle Stored procedure call.

I suggest setting a "Max connection usage" on any pool that you use for
calling SPs :-)

Chris



On 17/03/2010 14:09, SOLDEVILA Fabien wrote:

> Hi,
>
> I have the confirmation by Sun that it's a bug on the product v2.2. This bug wasn't on the version before (2.1).
> I will try creating an issue ... If I found where to do that :)
>
> On my project to avoid this problem I must create another procedure in Oracle with a unique name that call the good procedure on the package.
>
> I hope that the bug will be close on futures versions of OpenESB.
>
> Bests regards,
>
> Fabien Soldevila
>
>
>
>
> -----Message d'origine-----
> De : SOLDEVILA Fabien [mailto:[hidden email]]
> Envoyé : lundi 8 mars 2010 17:25
> À : [hidden email]
> Objet : RE: RE: RE: Big problem with DataBase BC - Procedure Call
>
> Hi,
>
> Yes, I will give you news about this bug.
>
> Regards,
>
> Fabien
>
>
>
> -----Message d'origine-----
> De : Paul Perez [mailto:[hidden email]]
> Envoyé : vendredi 5 mars 2010 11:23
> À : [hidden email]
> Objet : RE: RE: Big problem with DataBase BC - Procedure Call
>
>
> Hi Fabien,
>
> I you find the reason for that bug and I hope a solution, could you keep us
> inform
>
> regards
>
> Paul perez
> www.pymma.com
>
>    


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

RE: Problem with creating an issue

Frank Kieviet
Administrator
In reply to this post by SOLDEVILA Fabien
Hi Fabien,

"Defect" would be a good choice I think.

Frank

> -----Original Message-----
> From: users-return-13534-frank.kieviet=[hidden email]
> [mailto:users-return-13534-frank.kieviet=[hidden email]] On
> Behalf Of SOLDEVILA Fabien
> Sent: Wednesday, March 17, 2010 08:38
> To: [hidden email]
> Subject: Problem with creating an issue
>
> Hello,
>
> I want creating an issue for the bug describe above ... it's my first
> time.
> On the OpenESB Issue Tracker I've got the choices : Defect, Patch, Task,
> Feature or Enhancement.
>
> For a new bug, what is the good choice ? Defect ? Patch ? Feature ?
> ... it's just to create the issue on the good thread.
>
> Regards,
>
> Fabien
>
>
>
>
>
>
> -----Message d'origine-----
> De : SOLDEVILA Fabien [mailto:[hidden email]]
> Envoyé : mercredi 17 mars 2010 15:10
> À : [hidden email]
> Objet : RE: RE: RE: RE: Big problem with DataBase BC - Procedure Call
>
> Hi,
>
> I have the confirmation by Sun that it's a bug on the product v2.2. This
> bug wasn't on the version before (2.1).
> I will try creating an issue ... If I found where to do that :)
>
> On my project to avoid this problem I must create another procedure in
> Oracle with a unique name that call the good procedure on the package.
>
> I hope that the bug will be close on futures versions of OpenESB.
>
> Bests regards,
>
> Fabien Soldevila
>
>
>
>
> -----Message d'origine-----
> De : SOLDEVILA Fabien [mailto:[hidden email]]
> Envoyé : lundi 8 mars 2010 17:25
> À : [hidden email]
> Objet : RE: RE: RE: Big problem with DataBase BC - Procedure Call
>
> Hi,
>
> Yes, I will give you news about this bug.
>
> Regards,
>
> Fabien
>
>
>
> -----Message d'origine-----
> De : Paul Perez [mailto:[hidden email]]
> Envoyé : vendredi 5 mars 2010 11:23
> À : [hidden email]
> Objet : RE: RE: Big problem with DataBase BC - Procedure Call
>
>
> Hi Fabien,
>
> I you find the reason for that bug and I hope a solution, could you keep
> us
> inform
>
> regards
>
> Paul perez
> www.pymma.com
>
> --
> View this message in context: http://n2.nabble.com/Preferred-process-for-
> complex-transforms-of-objects-as-compared-to-primitives-using-BPEL-
> tp4599065p4680014.html
> Sent from the OpenESB Users mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]



---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Loading...