Your CXF server is a "code first" server and thus wouldn't be using your 
provided WSDL.   Thus, there COULD be a slight disconnect with what it's 
expecting and what the client is sending.    

My suggestion would be to add a wsdlLocation attribute to:
> @WebService(portName = "SoapPort", serviceName = "TestSoap",
>             targetNamespace = "http://soap.test.xyz.com/";,
>             endpointInterface = "com.xyz.test.soap.TestSoapService")
to point it at the actual wsdl.   That should make both the client and the 
server use the exact same wsdl and should hopefully  solve this.

Dan


On Saturday 01 November 2008 10:03:47 am JuliusIT wrote:
> Noone has an idea?  Please help me... it' s days i'm hitting my head on the
> screen...
> I tryed all the solution i find in forum and web. Noone Works. If the
> parameter and the response is a simple type there is no problem. As soon as
> the parameter are object they are all set to null when i debug it on the
> server. I red that is a problem of qualified/unqualified simple /jaxws
> frontend. What I don't understand is how if I do:
>
> CXF Server--> WSDL --> CXF client
>
> things don't works.
>
> Here is how my SEI is defined:
>
> package com.xyz.test.soap;
>
> import javax.jws.WebMethod;
> import javax.jws.WebParam;
> import javax.jws.WebService;
> import javax.xml.ws.RequestWrapper;
> import javax.xml.ws.ResponseWrapper;
>
> @WebService(targetNamespace = "http://soap.test.xyz.com/";, name =
> "TestSoap")
> public interface TestSoapService {
>
>     @RequestWrapper(localName = "TestSendFile", targetNamespace =
> "http://soap.test.xyz.com/";, className = "com.xyz.test.soap.TestSendFile")
>     @ResponseWrapper(localName = "TestSendFileResponse", targetNamespace =
> "http://soap.test.xyz.com/";, className =
> "com.xyz.test.soap.TestSendFileResponse")
>     @WebMethod
>       public TestSendFileResponse
> sendFileToTest(@WebParam(name="serviceParameter", targetNamespace =
> "http://soap.test.xyz.com/";) TestSendFile serviceParameter) throws
> InvalidServiceCallException;
>
>     @RequestWrapper(localName = "TestReceiveFile", targetNamespace =
> "http://soap.test.xyz.com/";, className =
> "com.xyz.test.soap.TestReceiveFile")
>     @ResponseWrapper(localName = "TestReceiveFileResponse", targetNamespace
> = "http://soap.test.xyz.com/";, className =
> "com.xyz.test.soap.TestReceiveFileResponse")
>     @WebMethod
>     public TestReceiveFileResponse
> receiveFileFromTest(@WebParam(name="serviceParameter", targetNamespace =
> "http://soap.test.xyz.com/";) TestReceiveFile serviceParameter) throws
> InvalidServiceCallException;
>
>     @RequestWrapper(localName = "TestGetFilesList", targetNamespace =
> "http://soap.test.xyz.com/";, className =
> "com.xyz.test.soap.TestGetFilesList")
>     @ResponseWrapper(localName = "TestGetFilesListResponse",
> targetNamespace = "http://soap.test.xyz.com/";, className =
> "com.xyz.test.soap.TestGetFilesListResponse")
>     @WebMethod
>     public TestGetFilesListResponse
> getFileListFromTest(@WebParam(name="serviceParameter", targetNamespace =
> "http://soap.test.xyz.com/";) TestGetFilesList serviceParameter) throws
> InvalidServiceCallException;
> }
>
> The implementation
>
> package com.xyz.test.soap.services;
>
> import javax.jws.WebService;
>
> import com.xyz.test.soap.TestGetFilesList;
> import com.xyz.test.soap.TestGetFilesListResponse;
> import com.xyz.test.soap.TestReceiveFile;
> import com.xyz.test.soap.TestReceiveFileResponse;
> import com.xyz.test.soap.TestSendFile;
> import com.xyz.test.soap.TestSendFileResponse;
> import com.xyz.test.soap.TestSoapService;
> import com.xyz.test.soap.InvalidServiceCallException;
>
>
> @WebService(portName = "SoapPort", serviceName = "TestSoap",
>             targetNamespace = "http://soap.test.xyz.com/";,
>             endpointInterface = "com.xyz.test.soap.TestSoapService")
> public class TestSoapServiceImplementation implements TestSoapService {
>
> ... my BL here...
> }
>
>
> the client
>
> import java.net.URL;
>
> import com.xyz.test.soap.TestSendFile;
> import com.xyz.test.soap.TestSendFileResponse;
> import com.xyz.test.soap.TestServiceEncoding;
> import com.xyz.test.soap.TestServiceFormats;
> import com.xyz.test.soap.TestSoap;
> import com.xyz.test.soap.TestSoap_Service;
>
>
> public final class Client {
>
>       public static void main(String args[]) throws Exception {
>
>         URL wsdlLocation = new
> URL("file:/C:/workspace/WsdlToCxf/wsdl/testsoap.wsdl");
>
>       TestSoap_Service service = new TestSoap_Service(wsdlLocation);
>         TestSoap port = service.getSoapPort();
>         TestSendFileResponse response;
>
>         TestSendFile dfss = new TestSendFile();
>         dfss.setUser("test");
>         dfss.setPassword("testpass");
>         dfss.setEncoding(TestServiceEncoding.BASE_64);
>         dfss.setFileName("testfile");
>         dfss.setFormat(TestServiceFormats.TXT);
>         dfss.setData("testodiprova".getBytes());
>
>         System.out.println("Invoking sendFileToTest...");
>         response = port.sendFileToTest(dfss);
>         System.out.println("Server responded with code: " +
> response.getCode());
>         System.out.println("Server responded with message: " +
> response.getCode());
>         System.out.println();
>
>         System.exit(0);
>     }
>
> }



-- 
Daniel Kulp
[EMAIL PROTECTED]
http://dankulp.com/blog

Reply via email to