快乐着飞舞着

---Nothing to do is doing nothing
随笔 - 93, 文章 - 5, 评论 - 56, 引用 - 0
数据加载中……

java 和 c# 的webservice 互操作的问题

使用java 写了一个web service ,在c#中调用。如果返回 string int 这种基本类型没有任何问题,但是如果如下的一个bean

public class UserBean {
    
int userid;

    String username;

    String password;

    String pwdquestion;

    String pwdanswer;

    String studentno;

    String studentname;

    String studentdesc;

    
public UserBean() {
        
super();
    }


    
public UserBean(int userid, String username, String password, String pwdquestion, String pwdanswer, String studentno, String studentname, String studentdesc) {
        
super();
        
this.userid = userid;
        
this.username = username;
        
this.password = password;
        
this.pwdquestion = pwdquestion;
        
this.pwdanswer = pwdanswer;
        
this.studentno = studentno;
        
this.studentname = studentname;
        
this.studentdesc = studentdesc;
    }


    
public String getPassword() {
        
return password;
    }


    
public void setPassword(String password) {
        
this.password = password;
    }


    
public String getPwdanswer() {
        
return pwdanswer;
    }


    
public void setPwdanswer(String pwdanswer) {
        
this.pwdanswer = pwdanswer;
    }


    
public String getPwdquestion() {
        
return pwdquestion;
    }


    
public void setPwdquestion(String pwdquestion) {
        
this.pwdquestion = pwdquestion;
    }


    
public String getStudentdesc() {
        
return studentdesc;
    }


    
public void setStudentdesc(String studentdesc) {
        
this.studentdesc = studentdesc;
    }


    
public String getStudentname() {
        
return studentname;
    }


    
public void setStudentname(String studentname) {
        
this.studentname = studentname;
    }


    
public String getStudentno() {
        
return studentno;
    }


    
public void setStudentno(String studentno) {
        
this.studentno = studentno;
    }


    
public int getUserid() {
        
return userid;
    }


    
public void setUserid(int userid) {
        
this.userid = userid;
    }


    
public String getUsername() {
        
return username;
    }


    
public void setUsername(String username) {
        
this.username = username;
    }


}


如果在c#中调用一直返回为 null 但是抓包发现java的服务器端确实是把结果包装在soap消息中回复的,如果用java 调用 这个webservice 也没有问题(两个java 程序不在一台机器上)。

我同时用c# 写了一个功能基本一样的 webservice 同样返回这个类似的bean,如果用c#调用这个webservice 就没有问题。
java 的webservice 的返回值如下

<?xml
        version="1.0"
        encoding="utf-8"
        
?>
    
<soapenv:Envelope
        
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
        xmlns:xsd
="http://www.w3.org/2001/XMLSchema"
        xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance">
        
<soapenv:Body>
            
<getUserInformationResponse
                
xmlns="http://service.jobandwork.swi">
                
<getUserInformationReturn>
                    
<password>
                        3
                        
</password>
                    
<pwdanswer>
                        萨防盗锁
                        
</pwdanswer>
                    
<pwdquestion>
                        反对萨分散度飞洒发
                        
</pwdquestion>
                    
<studentdesc>
                        刀法度飞洒反对萨阿东分散
                        
</studentdesc>
                    
<studentname>
                        刀法琐碎反对司法
                        
</studentname>
                    
<studentno>
                        刀法琐碎反对发
                        
</studentno>
                    
<userid>
                        7
                        
</userid>
                    
<username>
                        3
                        
</username>
                    
</getUserInformationReturn>
                
</getUserInformationResponse>
            
</soapenv:Body>
        
</soapenv:Envelope>

c# 的webservice 的返回值

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd
="http://www.w3.org/2001/XMLSchema">
    
<soap:Body>
        
<getUserInformationResponse xmlns="http://tempuri.org/">
            
<getUserInformationResult>
                
<userid>1</userid>
                
<username>2</username>
                
<password>2</password>
                
<pwdquestion>3</pwdquestion>
                
<pwdanswer> </pwdanswer>
                
<studentno>3</studentno>
                
<studentname>23</studentname>
                
<studentdesc>43</studentdesc>
            
</getUserInformationResult>
        
</getUserInformationResponse>
    
</soap:Body>
</soap:Envelope>

有点郁闷了

posted on 2007-06-29 14:54 快乐着飞舞着 阅读(5008) 评论(2)  编辑 收藏 引用

评论

# re: java 和 c# 的webservice 互操作的问题  回复  更多评论   

有没有解决方案啊 我也遇到了C#调用Java的Webservice失败,但是Jave的调用能成功
2010-09-02 12:19 | Waizking

# re: java 和 c# 的webservice 互操作的问题  回复  更多评论   

遇到同样的问题,请问有找到解决的方法吗
2013-07-18 09:02 | 竹易
只有注册用户登录后才能发表评论。

Clicky