我正在使用jax-ws编写Web服务.Web服务的一个方法返回bean,它包含对其父级的引用.为了防止循环引用,我在bean中使用了JAXB @XMLID和@XMLIDRef注释.
然后我为java客户端生成代理类一切正常,id解析为Object属性.但后来我在Visual Studio for .NET中生成Web服务客户端代理,它将idrefs解释为字符串属性,而不是Object.
是否可以通过解析idrefs从wsdl for .NET生成代理类?
我正在尝试将JAXB注释放在POJO上以生成以下JSON(通过moxy):
{
"apartmentNumber": "404",
"city/town": "SomeCity",
"state/province": "NoState",
"street": "1st Street"
}
Run Code Online (Sandbox Code Playgroud)
某些字段包含斜杠.当我试图把注释@XmlElement(name ="city/town")
@XMLRootElement
public class SubscriberAddress {
private String street;
private String apartmentNumber;
@XMLElement(name="city/town")
private String city;
@XMLElement(name="state/province")
private String state;
}
Run Code Online (Sandbox Code Playgroud)
moxy将这些名称视为XPath并创建以下JSON
{
"apartmentNumber" : "404",
"city" : {
"town" : "SomeCity"
},
"state" : {
"province" : "NoState"
},
"street" : "1st Street"
}
Run Code Online (Sandbox Code Playgroud)
有没有办法逃避斜线/禁止moxy处理元素名称中的斜杠?
任何人都可以解释为什么下一个代码没有编译?
我正在为它创建一个部分专用的Map和Map.Entry:
public class Trie<T> implements Map<String, T> {
private class TrieEntry<S> implements Map.Entry<String, S> {
// stupid implementation here
}
// uninterested code here
}
Run Code Online (Sandbox Code Playgroud)
这里一切都很好,但后来我正在实现entrySet()方法:
public Set<java.util.Map.Entry<String, T>> entrySet() {
Set<java.util.Map.Entry<String, T>> x = new HashSet<TrieEntry<T>>();
// some uninterested code here
}
Run Code Online (Sandbox Code Playgroud)
Eclipse说
"类型不匹配:无法转换HashSet<Trie<T>.TrieEntry<T>>为Set<Map.Entry<String,T>>"
所以,在我看来TrieEntry<T>应该展开Map.Entry<String, T>,它符合定义中的表达.
我哪里错了?