我需要一份Demo样板看看,java的配置环境请求,网上找的那些都说得糊涂死了,我的是myeclipse8.5的axis1.4,axis2的不会用,axis1.4的调用简单类型的就可以执行,但复杂类型的基本上挂了求高手大牛指教!!

解决方案 »

  1.   

    用axis命令行模式,生成客户端代码不行吗?
      

  2.   

    我的代码
    String endpoint = "http://localhost:79/JVMWebservice.asmx?wsdl";
    Service service = new Service();  
            Call call = (Call) service.createCall();  
            call.setTargetEndpointAddress(new java.net.URL(endpoint));  
            call.setOperationName(new QName("http://tempuri.org/", "LoginMethod"));//Login为要调用的方法名           //http://tempuri.org/为 wsdl中 targetNamespace 的值 以下相同
             call.addParameter(new QName("http://tempuri.org/",  
             "username"),XMLType.SOAP_STRING,ParameterMode.IN);//这里的username为传入参数的变量名字  
             call.addParameter(new QName("http://tempuri.org/",  
             "password"),XMLType.SOAP_STRING,ParameterMode.IN);//这里的password为传入参数的变量名字  
             
             call.setReturnType(new QName("http://tempuri.org/",  
            "response"), User.class);//User这里是重点,返回时主要在这配置,User为返回的对象           // 注册映射关系  
            QName XljgInfo = new QName("http://tempuri.org/", "User");//此处的 User为WSDL文件中complexType name的属性值   //这里注册映射关系,对自定义的类进行序列化与反序列化。         call.registerTypeMapping(User.class, XljgInfo,
                    new BeanSerializerFactory(User.class, XljgInfo),  
                    new BeanDeserializerFactory(User.class, XljgInfo));//User.class同上,         User itv =(User) call.invoke(new Object[] {"admin","admin"});//接口接收的参数错误信息:org.xml.sax.SAXException: Invalid element in User - UserName在网上找不到,求解