The ObjectServiceFactory client does not need the WSDL as far as I'm aware. Have you tried giving it the service URL (i.e. without ?wsdl at the end)?
Fried > -----Original Message----- > From: Stuart Barlow [mailto:[EMAIL PROTECTED] > Sent: donderdag 11 mei 2006 10:39 > To: [email protected] > Subject: Re: [xfire-user] MTOM and Spring test > > Still not happy. And the only difference in the requests (observed in > tunnel) between the working dynamic client and the not-working > ObjectServiceFactory client is the first line... > > Not Working... > POST /hc/webservices/ICollaborationServiceTwo?wsdl HTTP/1.1 > > Working... > POST /hc/webservices/ICollaborationServiceTwo HTTP/1.1 > > > Yet both clients are using the same URL... > http://edi-stuart:8090/hc/webservices/ICollaborationServiceTwo?wsdl > > > The dynamic client is making a first request to the ?wsdl URL to get > the WSDL and the ObjectServiceFactory client is making the actual > SOAP request to the ?wsdl URL and the SOAP envelope to getting ignored > and the server just returns the WSDL which the client cannot parse > as it is expecting a logon response. > > > Dan Diephouse wrote: > > Hi Stuart, > > Try doing > > > > Service serviceModel = new > > ObjectServiceFactory().create(ICollaborationServiceTwo.class, "Name", > > "namespace", null); > > > > - Dan > > > > Stuart Barlow wrote: > >> The request is sent using the wrong namespace when I use the client... > >> Service serviceModel = new > >> ObjectServiceFactory().create(ICollaborationServiceTwo.class); > >> ICollaborationServiceTwo service = (ICollaborationServiceTwo) > >> new XFireProxyFactory().create(serviceModel, url); > >> > >> Is there a way to set the target namespace? > >> The correct namespace is used when I use the dynamic client. > >> > >> > >> Stuart Barlow wrote: > >>> I am trying to call a method on my MTOM enabled service and get the > >>> following > >>> error... > >>> > >>> org.codehaus.xfire.XFireRuntimeException: Could not invoke service.. > >>> Nested exception is org.codehaus.xfire.fault.XFireFault: There must > >>> be a method name element. > >>> org.codehaus.xfire.fault.XFireFault: There must be a method name > >>> element. > >>> at > >>> > org.codehaus.xfire.service.binding.WrappedBinding.readMessage(WrappedBin di > ng.java:31) > >>> > >>> at > >>> > org.codehaus.xfire.soap.handler.SoapBodyHandler.invoke(SoapBodyHandler.j av > a:42) > >>> > >>> at > >>> > org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:9 8) > >>> > >>> at org.codehaus.xfire.client.Client.onReceive(Client.java:448) > >>> at > >>> > org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel. ja > va:174) > >>> > >>> at > >>> > org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:66) > >>> at > >>> > org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java :2 > 6) > >>> > >>> at > >>> > org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:9 8) > >>> > >>> at org.codehaus.xfire.client.Client.invoke(Client.java:359) > >>> at > >>> org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77) > >>> at org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57) > >>> at $Proxy0.logon(Unknown Source) > >>> at > >>> com.hummingbird.hc.api.MTOMTest.testGetDocumentData(MTOMTest.java:41) > >>> > >>> > >>> Spring service configuration... > >>> > >>> <bean name="CollaborationServiceTwo" > >>> class="org.codehaus.xfire.spring.ServiceBean"> > >>> <property name="serviceBean" ref="collaborationServiceTwo"/> > >>> <property name="serviceClass" > >>> value="com.hummingbird.hc.api.ICollaborationServiceTwo"/> > >>> <property name="namespace" > >>> value="http://hemp.hummingbird.com/v1/hemp"/> > >>> > >>> <property name="properties"> > >>> <map> > >>> <entry> > >>> <key><value>mtom-enabled</value></key> > >>> <value>true</value> > >>> </entry> > >>> </map> > >>> </property> > >>> > >>> <property name="inHandlers"> > >>> <list> > >>> <ref bean="addressingHandler"/> > >>> </list> > >>> </property> > >>> </bean> > >>> > >>> > >>> The Java interface with 3 methods is... > >>> > >>> public interface ICollaborationServiceTwo { > >>> > >>> String logon(String username, String password, String > organization, > >>> String remoteLocation) throws HCException; > >>> > >>> void logoff(String sessionID) throws HCException; > >>> > >>> DataHandler getDocumentData(String sessionID, String documentID, > >>> int version, boolean returnData) throws HCException; > >>> } > >>> > >>> > >>> The error is when I call the logon method. > >>> Should I only call... > >>> client.setProperty("mtom-enabled", "true"); > >>> when I want to call a DataHandler or byte[] method? > >>> > >>> ta, > >>> Stuart > >>> > >>> > >> > > > > > > -- > Stuart
