Michael Schuerig wrote:

I've just spent a quarter of an hour without success to find out how to enter a bug for WSIF in Bugzilla. So, if anyone knows their way around there better than me, please enter this.


hi  Michael,

use http://nagoya.apache.org/jira/browse/WSIF

(we do need to update website!)

I've attached a tiny diff of changes for two things
* make WSIF compile (and work!) with Axis 1.2RC


WSIF in CVS is already patched for that (i think i did weeks ago) - see doc/changes.html

<a name="WSIF_2_0_1"><h3>interim builds(WSIF_2_0_1) </h3></a>
<ul>
<li>2004-10-12: moved to use AXIS 1.2 RC1: important backward change in WSIFJavaTestCaseWriter to use
new method writeComment(pw, p.getDocumentationElement(), true) instead of writeComment(pw, p.getDocumentationElement())
that no longer exist, additionally replaced all calls to no longer existing setScopedProperty() with setProperty()
</li>


but this confusion indicates that next release of WSIF needs to be done just after AXIS 1.2 final is made available.

* fix bug in handling of custom de/serializers in the Axis provider


your patch was applied.

i have also updated CVS to use the latest RC2 version JAR files.

thanks,

alek

Yes, it is possible to use custom de/serializers with WSIF and Axis. Just like this:

List<TypeSerializerInfo> typeSerializers =
new ArrayList<TypeSerializerInfo>();
typeSerializers.add(new TypeSerializerInfo(
new QName(SERVICE_NS, ELEMENT_TYPE),
MyClass.class,
new MyClassSerializerFactory(),
new MyClassDeserializerFactory()));


   WSIFMessage context = operation.getContext(); // we get a clone here
   context.setObjectPart(WSIFAXISConstants.CONTEXT_SOAP_TYPE_SERIALIZERS,
           typeSerializers);
   operation.setContext(context);

Please note that the code above will not work correctly without the patch!

Michael



------------------------------------------------------------------------

diff -ur 
src-orig/org/apache/wsif/providers/soap/apacheaxis/WSIFOperation_ApacheAxis.java
 src/org/apache/wsif/providers/s
oap/apacheaxis/WSIFOperation_ApacheAxis.java
--- 
src-orig/org/apache/wsif/providers/soap/apacheaxis/WSIFOperation_ApacheAxis.java
    2004-11-28 01:35:30.000000000 +01
00
+++ src/org/apache/wsif/providers/soap/apacheaxis/WSIFOperation_ApacheAxis.java 
2004-11-28 01:19:55.000000000 +0100
@@ -1703,8 +1703,8 @@
               // setup the call object
               call.setOperationName(
                       new QName(getInputNamespace(), 
portTypeOperation.getName()));
-               call.setScopedProperty(Call.SEND_TYPE_ATTR, Boolean.FALSE);
-               call.setScopedProperty(AxisEngine.PROP_DOMULTIREFS, 
Boolean.FALSE);
+               call.setProperty(Call.SEND_TYPE_ATTR, Boolean.FALSE);
+               call.setProperty(AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE);
               call.setOperationStyle(operationStyle);
        setCallParameterNames(call);

@@ -2093,8 +2093,8 @@
               Object serializer = tm.getSerializer();
               Object deserializer = tm.getDeserializer();

- if ( (javaType != null) || (javaType.isAssignableFrom(clazz))
- && ( (elementType != null) || (elementType.equals(xmlType)) ) ){
+ if ( (javaType == null) || (javaType.isAssignableFrom(clazz))
+ && ( (elementType == null) || (elementType.equals(xmlType)) ) ){
if (serializer == null || serializer instanceof SerializerFactory
&& deserializer == null || deserializer instanceof DeserializerFactory
&& serializer != null || deserializer != null) {




--
The best way to predict the future is to invent it - Alan Kay



Reply via email to