Birisi burada bir çözüm ararken biterse: JAXBElement kullanmak yerine, bir bağlama dosyasında false yapmak için generateElementProperty öğesini ayarlayarak yalnızca Tür'ü kullanabilirsiniz.
Benim durumumda wsdl dosyasından stub dosyalarını oluşturmak için maven kullanıyorum.
kısmi pom dosya ve bağlamaları dosyası (bu config denir javabindings.xml)
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>2.2.9</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<sourceRoot>${project.build.directory}/wsdl2java/generated-sources/src/main/java</sourceRoot>
<wsdlOptions>
<wsdlOption>
<wsdl>${basedir}/src/main/resources/yourWsdlFileOrURL.wsdl</wsdl>
<extraargs>
<extraarg>-verbose</extraarg>
<extraarg>-b</extraarg>
<extraarg>${basedir}/src/main/resources/javabindings.xml</extraarg>
</extraargs>
</wsdlOption>
</wsdlOptions>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
<jaxb:bindings version="2.0"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<jaxb:bindings schemaLocation="http://localhost:15002/MiddlewareDataServiceConversion?xsd=xsd0">
<jaxb:bindings node="/xs:schema">
<jaxb:globalBindings generateElementProperty="false"/>
</jaxb:bindings>
</jaxb:bindings>
Javadoc'u okudunuz mu? http://java.sun.com/javase/6/docs/api/javax/xml/bind/JAXBElement.html#JAXBElement%28javax.xml.namespace.QName,%20java.lang.Class,%20java.lang. Sınıf,% 20T% 29 –
Bir cevap değil, ancak java geliştiricileri WCF DataMembers isRequired = true (eğer mümkün değil ama çoğu durumda kabul edilebilir olmalıdır) size teşekkür edecektir. O zaman JAXBEelement'i alamazsın. Siparişi açıkça belirterek kullanmayı da düşünün. – softveda