antelder 2002/06/26 09:00:28
Modified: java/samples/addressbook/wsifservice AddressBook.wsdl
java/src/org/apache/wsif/providers/jms
WSIFOperation_Jms.java
Log:
Fix native JMS provider handling of the jms:input attribute
Revision Changes Path
1.5 +3 -1
xml-axis-wsif/java/samples/addressbook/wsifservice/AddressBook.wsdl
Index: AddressBook.wsdl
===================================================================
RCS file:
/home/cvs/xml-axis-wsif/java/samples/addressbook/wsifservice/AddressBook.wsdl,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- AddressBook.wsdl 20 Jun 2002 11:14:05 -0000 1.4
+++ AddressBook.wsdl 26 Jun 2002 16:00:28 -0000 1.5
@@ -175,7 +175,9 @@
</format:typeMapping>
<operation name="addEntry">
- <input name="AddEntryWholeNameRequest"/>
+ <input name="AddEntryWholeNameRequest">
+ <jms:input parts="name address"/>
+ </input>
</operation>
<operation name="addEntry">
1.9 +7 -13
xml-axis-wsif/java/src/org/apache/wsif/providers/jms/WSIFOperation_Jms.java
Index: WSIFOperation_Jms.java
===================================================================
RCS file:
/home/cvs/xml-axis-wsif/java/src/org/apache/wsif/providers/jms/WSIFOperation_Jms.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- WSIFOperation_Jms.java 25 Jun 2002 08:38:58 -0000 1.8
+++ WSIFOperation_Jms.java 26 Jun 2002 16:00:28 -0000 1.9
@@ -411,18 +411,10 @@
* set the parts onto the message
*/
-/* TODO - I don't know what this code was trying to do???
- WSIFMessage message = input;
- if (fieldInput != null && !fieldInput.getParts().isEmpty()) {
- message = createInputMessage();
-
- for (Iterator i = fieldInput.getParts().iterator(); i.hasNext();) {
- String partName = i.next().toString();
- message.setObjectPart(partName, input.getObjectPart(partName));
- }
- };
-*/
- // extract the JMS properties from the input message
+ // The input message parts can either be a jms property
+ // or an input part. If an input part, that part will
+ // only be used if there is not a jms:input atribute,
+ // or the part name is in the jms:input list
String partName;
WSIFMessage message = createInputMessage();
for (Iterator i = input.getPartNames(); i.hasNext(); ) {
@@ -431,7 +423,9 @@
jmsDest.setProperty(
(String)fieldInputJmsProperties.get( partName ),
input.getObjectPart(partName) );
- } else {
+ } else if ( fieldInput == null ) {
+ message.setObjectPart(partName, input.getObjectPart(partName));
+ } else if ( fieldInput.getParts().contains( partName ) ) {
message.setObjectPart(partName, input.getObjectPart(partName));
}
}