HI Heitzso
If the problem you are trying to solve is to prevent the axsi server from sending multi refs then it is very much possible and can be done in the server-config.wsdd. Look for <parameter name="sendMultiRefs" value="true"/> inside /deployment/globalConfiguration . Just change the value of this paramter to false. Hope this helps Vidyanand. -----Original Message----- From: Heitzso [mailto:[EMAIL PROTECTED]] Sent: Tuesday, June 04, 2002 12:10 PM To: [EMAIL PROTECTED] Subject: RE: href, mozilla soap, and custom serializers My client code is running in a Mozilla browser and doesn't touch the Axis environment except as a vanilla web service. So touching the stub doesn't help me. On the server side my class is, in theory, axis unaware or web-server-container neutral. So my assumption is that the PROP_DOMULTIREF property needs to be set in the server side setup in the wsdd file, but I'm not seeing anything in doc that would indicate how to do this. (may not be reading it right). Since it's the bean serializer mechanism that I want to turn this property off in, I'ld expect to be able to do something like ... <beanMapping Qname="datamodelNS:SelectionNodeSet" xmlns:datamodelNS="urn:ferrett" doMultiRefs="false" languageSpecificType="java:org.thedataweb.service.ferrett.datamodel.Sele ctionNodeSet" /> I'll try throwing in axis code server class side (i.e. my FerrettService class that's providing the method that's breaking because it's returning a bean that's being href'ed) as you suggest and see what happens. Though curious what happens to the state of that property after I toggle in a running instance. Heitzso On Tue, 2002-06-04 at 14:31, St-Germain, Sylvain wrote: > Isn't this trick trigger that both ends be inline? > Would make sense to me... But I do not remember, give it a try before > digging too deep... > > Have a look at ServiceContext.getCurrentContext() that may give you some > hints. > > Sylvain. > > > -----Original Message----- > From: Heitzso [mailto:[EMAIL PROTECTED]] > > 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. > > 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.SelectionNodeSetSer iali > > zerFactory" > > > deserializer="org.thedataweb.service.ferrett.datamodel.SelectionNodeSetD eser > > 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.