Skip to Main Content

Integration

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

OSB: XOP/MTOM support does not work as expected

758157May 5 2010
Hi all,

we want to call a webservice which is not able to use MTOM for attachments. The attachments have to be inlined in the request. The webservice consumer sends the request with MTOM to OSB.
In the proxy service we have a XSLT transformation for our request. We are using binary by value option for the "XOP/MTOM Support" setting in proxy and business service. This setting works, but now we have the problem that transformation of the attachments takes a lot of time and uses so much heap memory that we frequently are out of memory with OSB. The maximum size of one attachment is 2MB, maximum size of all attachments is 4MB.

In my opinion there should be a possibility to transform the request without the attachment (binary by reference in the proxy) and then inline it in the business service (binary by value in the business service). But this does not work.
Additionally we tried to disable XOP/MTOM Support in business service, but this did also not work.

Our third idea was to use a binary-by-reference proxy which does the transformation. This proxy sends the message to a second proxy with binary by value setting, which finally sends the message to the business service (binary by value). Even in that scenario it did not work. That means the attachment was not inlined into the request.

The documentation in OSB userguide is not completely clear to me for that XOP/MTOM support setting, therefore I am asking for your help.

Thanks for all your ideas and advices!

Best regards,
Katja

Comments

843829
Are you by any chance running on a dual processor machine? If you are, you might be running with -server (this is the new ergonomic change in Tiger), and with a larger default heap size. The best way to check this is to run
java -showversion myClass
A new feature in Java5 was to determine if the machine was better off using -server instead of -client (>2cpu, >2gb of memory). If that was true then -server is used and certain GC tuning parameters are specified. If the VM detects you are on a "Server Class" machine, than by default 1/4 of your memory is used as maximum heap up to a maximum of 1gb. So its possible that's what you are hitting.
843829
You are right, this may be the problem.

Is there a way to change the default behavior or do I always set -server/-client manually to make shure my favorite java vm gets started?
843829
You can continue to use the server VM if you wish, but just remember to specify minimum and maximum heap sizes with -Xms and -Xmx.
1 - 3
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Jun 2 2010
Added on May 5 2010
0 comments
1,238 views