我今天发现,从客户端传递到服务器的字符串参数中的简单%会导致错误请求400.
由于我对Web服务有基本知识,所以我不知道这是否是正常行为.我是否遗漏了某些东西(是我对逃避字符串的责任?)还是我应该在其他地方看看?
客户代码:
@WebMethod(operationName = "push", action = "urn:Push")
public boolean push(String msg);
服务器代码:
@XmlRootElement(name = "push", namespace = "http://ws.something.com/")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "push", namespace = "http://ws.something.com/", propOrder = {"arg0"})
public class Push {
@XmlElement(name = "arg0")
private java.lang.String arg0;
public java.lang.String getArg0() {
return this.arg0;
}
public void setArg0(java.lang.String newArg0) {
this.arg0 = newArg0;
}
}
注意:
这个客户端/服务器对在我们的开发主机服务器上本地工作正常,即使在字符串参数中有%.但是,它确实导致另一台主机服务器上的Bad Request 400.因此它可能与服务器主机环境有关.如果是这样,我想暗示可能导致这种情况的原因.