OK, I eventually got the 4.2 codebase updated to use the JBossWS 2.0.0 codebase. This
required changes to the JBossWS 2.0.x codebase, as well as to the ESB.
The main changes of note are:
1) All the SOAP/Webservice components are now out of the listeners module and out in their
own "soap" service (in the services dir).
2) The JBossWSAdapter now supports configuration with "JAXB Introductions" for
interfaces that are not JAXB annotated.
3) The webservice_bpel quickstart is back in and working now (using JAXB introductions).
JAXB Introductions
Because JBossWS 2.x is now using JAXB to marshal and unmarshal SOAP message payloads.
JAXB requires the Java bindings to be annotated. This causes an issue on the ESB where we
want to expose existing interfaces as webservices, where those interfaces are not already
JAXB annotated.
The solution we have is to allow specification of the annotations in XML. Yep, sounds
odd, since one of the main reasons for annotations is to get rid of XML.
The XML looks like this:
| <?xml version = "1.0" encoding = "UTF-8"?>
|
| <jaxb-intros
xmlns="http://jbossesb.jboss.com/xsd/jaxb-intros">
|
| <!--
| JAXB annotation introductions for CustomerOrder messages.
| -->
|
| <!--
| The type namespaces on the customerOrder are different from the rest of the
message...
| -->
| <class-intro-config
name="com.activebpel.ordermanagement.CustomerOrder">
| <method-intro-config name="get.*">
| <XmlElementIntro
namespace="http://org.jboss.esb/quickstarts/bpel/ABI_OrderManager" />
| </method-intro-config>
|
| </class-intro-config>
|
| <!--
| More general namespace config for the rest of the message...
| -->
| <class-intro-config name="com.activebpel.ordermanagement.*">
| <method-intro-config name="get.*">
| <XmlElementIntro
namespace="http://ordermanagement.activebpel.com/jaws" />
| </method-intro-config>
| </class-intro-config>
|
| </jaxb-intros>
|
Basically the configuration allows you to specify 3 of the JAXB annotations (@XmlType,
@XmlElement and @XmlAttribute) in XML and target them at specific classes, methods and
fields. If you look at the definitions for these annotations and compare them with their
equivalent XML representation (XmlTypeIntro etc. - example above), you'll see that
they match up exactly.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4054878#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...