Discussion:
Can JWSDP 1.6 code run under Weblogic 8.1
(too old to reply)
Jim Pinkham
2006-07-12 22:49:05 UTC
Permalink
I just spent a few weeks getting my stand-alone test client using Sun's
JAXB and SAAJ apis to work with slightly ill-formed XSB schemas to send
SOAP messages to a server. I got past all kinds of tricky issues with
xjc, external bindings and such, and got everything working great.

This would all have been so much easier if I had a WSDL file I could
just do a clientgen on, but no, instead I have to do SOAPMessageBody
with XML payloads defined by a set of XSD schema files.

Now I go to drop it into it's home as part of an existing web service
hosted on BEA server, and it's a train wreck! (wish I could just use
Tomcat, but that's not an option).

If only someone had told be that JWSDP doesn't work with BEA, I'd have
saved so much time!

I confirmed this by adding weblogic.jar, webservices.jar, and
xbeans.jar to my standalone project, and it crashes the same way
(nullPointerException in marshaller.marshal).

I just spent the last week trying to kludge the classpath, set all
kinds of xml provider properties, and jre/lib/extdirs jars... I'm ready
to admit now there's just no way to make BEA use SAAJ's implementations
for everything. I got pretty close, then found
weblogic.webservice.core.ClientDispatcher.receive does a cast to it's
own internal ElementImpl class... so that whole strategy is a dead end.

So, where did I go wrong? I hate to throw away all my hard work in
JWSDP and learn their XBEANS instead (even if it would work - I don't
know - these are screwy OTA schemas from the travel industry that have
to be tweaked)... any ideas to make this work or port it to something
else that works with BEA?

Thanks,
Jim.
Jim Pinkham
2006-07-20 14:59:52 UTC
Permalink
Just a followup - hope nobody takes my reference to "screwey OTA travel
schemas" too seriously - I guess that's a reference to the fact that
you need special binding files to make them compile with JWSDP.

Actually, using XBeans turned out to be a much smoother option (for our
BEA environment anyway) Nothing new to download, already built-in, and
the scomp tool (corresponds to JWSDP's xjc) requires nothing more
exciting than a -mx 128m parameter to make it process and jar-up the
subset of OTA schemas we needed into a bunch of strongly typed classes.
So I guess they must be well-formed after all. :)
It also picked a sensible package name, and has (in my opinion) a
superior API when it comes to object creation - You use the document
type's Factory to make the base xxxRQDocument object, then instead of
going back to a single objectFactory.createSomeGodawfulLongNameObject()
each time, you just use these nice obj.addNewXXX() methods that combine
the object creation and setter into a single call. Much less error
prone. So, I wish I'd come across XBeans before JWSDP, but now I'm
back in business. See my other message for details of how to make it
work with SAAJ and SOAPMessage - WLS 8 is a bit behind the latest
release, so there's more you have to do to get it to work at that
level.

Anyway, hope all this helps someone else.

-- Jim Pinkham
NetJets

Loading...