Sylvan,

Thank you for the clue.  However I need to set this
server side.  I'm grepping the code now and digging 
around, but if you're aware of how to quickly set
PROP_DOMULTIREFS false server side I'ld appreciate
the info.

Thanks,
Heitzso

On Tue, 2002-06-04 at 13:03, St-Germain, Sylvain wrote:
> Try puttin this line in your Stub's createCall method.
> 
> import org.apache.axis.AxisEngine;
> call.setOption(AxisEngine.PROP_DOMULTIREFS, new Boolean(false));
> Sylvain.
> 
> -----Original Message-----
> From: Heitzso [mailto:[EMAIL PROTECTED]]
> 
> Mozilla 1.0rc3 SOAP doesn't handle hrefs. I recoded a java 
> bean (returned from web service)
> to only contain simple data types and arrays of simple
> data types but axis still uses a href even though 
> nothing is gained by it.
> 
> I'm trying _hard_ to code a custom serializer for my
> bean to avoid the href but my serializer/axis setup
> breaks with a null pointer exceptions.  I'm following
> all of the doc and the encoder sample app, but it's
> still a nogo.  null pointer coming out of (beta2):
>       ServiceDesc.java 688 (647, 628, 507, 488).
> Line 688 in ServiceDesc.java is:
>  operation.setReturnType(tm.getTypeQName(method.getReturnType()));
> 
> My wsdd element that's triggering the null pointer:
> <typeMapping xmlns:ns="urn:ferrett" qname="ns:SelectionNodeSet"
> type="java:org.thedataweb.service.ferrett.datamodel.SelectionNodeSet"
> serializer="org.thedataweb.service.ferrett.datamodel.SelectionNodeSetSeriali
> zerFactory"
> deserializer="org.thedataweb.service.ferrett.datamodel.SelectionNodeSetDeser
> ializerFactory"
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
> />
> 
> Null pointer trigger occurs when I go to AxisServlet to just list the 
> exposed classes/methods.
> 
> My ser/deser factories follow the sample code exactly.  
> 
> The ser code:
> 
> public class SelectionNodeSetSerializer implements Serializer {
>       
>  public static final String LENGTH = "length";
>  public static final String NAMES = "names";
>  public static final String IDS = "ids";
>  public static final String DESCRIPTIONS = "descriptions";
>  public static final String TERMINALS = "terminals";
>  public static final QName myTypeQName = new QName("urn:ferrett",
> "SelectionNodeSet");
>  public SelectionNodeSetSerializer() {}
>  public void serialize(QName name, Attributes attributes, Object value,
> SerializationContext context) throws IOException {
>    if (! (value instanceof SelectionNodeSet)) {
>       throw new IOException(.....);
>    }
>    SelectionNodeSet selectionNodeSet = (SelectionNodeSet) value;
>    context.startElement(name, attributes);
>    context.serialize(new QName("urn:ferrett", LENGTH), null, new
> Integer(selectionNodeSet.length), Integer.class);
>    //ArraySerializer arraySerializer = new ArraySerializer();
>    //arraySerializer.serialize(new QName("", IDS), null, 
> selectionNodeSet.ids, context);
>    //arraySerializer.serialize(new QName("", NAMES), null,
> selectionNodeSet.names, context);
>    //arraySerializer.serialize(new QName("", DESCRIPTIONS), null,
> selectionNodeSet.descriptions, context);
>    //arraySerializer.serialize(new QName("", TERMINALS), null,
> selectionNodeSet.terminals, context);
>    context.endElement();
>  }
>       
>  public String getMechanismType() { 
>   return Constants.AXIS_SAX; 
>  }
>       
>  public boolean writeSchema(Types types) throws Exception {
>   return false;
>  }
> =========
> 
> Note that I've commented out the array serializers while I sort
> out the simplest piece -- serializing a single integer.


Reply via email to