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

Reply via email to