Just a follow up,
The Netbeans generated service code is simply String types, as shown below:


WebMethod
    @WebResult(targetNamespace = "")
    @RequestWrapper(localName = "create", targetNamespace =
"http://service.vendor.houseware/";, className =
"houseware.vendor.service.Create")
    @ResponseWrapper(localName = "createResponse", targetNamespace =
"http://service.vendor.houseware/";, className =
"houseware.vendor.service.CreateResponse")
    public int create(
        @WebParam(name = "arg0", targetNamespace = "")
        String arg0,
        @WebParam(name = "arg1", targetNamespace = "")
        String arg1,
        @WebParam(name = "arg2", targetNamespace = "")
        String arg2,
        @WebParam(name = "arg3", targetNamespace = "")
        String arg3,
        @WebParam(name = "arg4", targetNamespace = "")
        String arg4,
        @WebParam(name = "arg5", targetNamespace = "")
        String arg5,
        @WebParam(name = "arg6", targetNamespace = "")
        String arg6,
        @WebParam(name = "arg7", targetNamespace = "")
        String arg7,
        @WebParam(name = "arg8", targetNamespace = "")
        String arg8,
        @WebParam(name = "arg9", targetNamespace = "")
        String arg9);

A corresponding session bean is coded as follow:

@Override
    public Integer create(String country, 
                    String state, 
                    String postcode, 
                    String suburb,
                    String email_address, 
                    String contact, 
                    String fax, 
                    String phone, 
                    String address1, 
                    String address2) {
        Integer ret = -1;
        try {
            logger.debug("===AddressManagerBean before calling create...");
            logger.debug("===country:"+country);
            logger.debug("===state:"+state);
            logger.debug("===suburb:"+suburb);
            logger.debug("===email_addresss:"+email_address);
            logger.debug("===contact:"+contact);
            logger.debug("===fax:"+fax);
            logger.debug("===phone:"+phone);
            logger.debug("===address1:"+address1);
            logger.debug("===address2:"+address2);
            ret = callRemote().create(
                    country, 
                    state, 
                    postcode, 
                    suburb, 
                    email_address, 
                    contact, 
                    fax, 
                    phone, 
                    address1, 
                    address2);
            logger.debug("===AddressManagerBean create() return
result:"+ret);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
        return ret;

    }

private houseware.vendor.service.AddressService callRemote() {
        houseware.vendor.service.AddressService port =
service.getAddressServiceImplPort();
        return port;
    }





--
View this message in context: 
http://cxf.547215.n5.nabble.com/java-lang-IllegalArgumentException-argument-type-mismatch-tp5712055p5712056.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to