- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个现有的 SOAP 客户端,它根据该 XSD 描述发送 SOAP 消息。我的 WebService 接受调用,但我的项目列表为空。
如果我将 WebMethod 声明更改为
@WebMethod
public Integer transferPalletRecords2(@WebParam(name = "arg0") List<Item> items)
然后我收到 1 个包含所有 NULL 字段的项目。
DEBUG got [{RESERVED3=null, RESERVED2=null, RESERVED1=null, WAREHOUSENUM=null, LINENUM=null, QUANTITY=null, SHELFLIFE=null, RESERVED5=null, RESERVED4=null, INDICATOR=null, NAME=null, HUIDENT=null, UOM=null, DLV_NO=null, COUNTRYOFORIGIN=null, CITY=null, BATCH=null, MATNR=null, EAN13=null}] items!
有什么问题吗?
我的 WebService 实现:
@WebService(targetNamespace = "http://xml....")
public class TransferPalletRecords {
public static final String XML_DELIVERY_NUM = "DLV_NO";
public static final String XML_WAREHOUSE_NUM = "WAREHOUSENUM";
public static final String XML_LINE_NUM = "LINENUM";
public static final String XML_HU_IDENTNUMBER = "HUIDENT";
public static final String XML_PRODUCT_NUMBER = "MATNR";
public static final String XML_PRODUCT_EAN = "EAN13";
public static final String XML_PRODUCT_NAME = "NAME";
public static final String XML_QUANTITY = "QUANTITY";
public static final String XML_UOM = "UOM";
public static final String XML_BATCH = "BATCH";
public static final String XML_INDICATOR = "INDICATOR";
public static final String XML_SHELF_LIFE = "SHELFLIFE";
public static final String XML_COUNTRY_OF_ORIGIN = "COUNTRYOFORIGIN";
public static final String XML_CITY = "CITY";
public static final String XML_RESERVED1 = "Reserved1";
public static final String XML_RESERVED2 = "Reserved2";
public static final String XML_RESERVED3 = "Reserved3";
public static final String XML_RESERVED4 = "Reserved4";
public static final String XML_RESERVED5 = "Reserved5";
@Resource
WebServiceContext wsContext;
@WebMethod
public Integer transferPalletRecords2(@WebParam(name = "arg0") Item[] items) {
try {
System.err.println("DEBUG got " + items.length + " items!");
} catch (Exception e) {
e.printStackTrace();
}
return 0;
}
@XmlRootElement(name = "item")
@XmlAccessorType(XmlAccessType.FIELD)
public static class Item {
@XmlElement(name = XML_DELIVERY_NUM, required = true)
private String deliveryNum;
@XmlElement(name = XML_WAREHOUSE_NUM, required = true)
private String wareHouseNum;
@XmlElement(name = XML_LINE_NUM, required = true)
private String lineNum;
@XmlElement(name = XML_HU_IDENTNUMBER, required = true)
private String huIdent;
@XmlElement(name = XML_PRODUCT_NUMBER, required = true)
private String productNumber;
@XmlElement(name = XML_PRODUCT_EAN, required = true)
private String productEAN;
@XmlElement(name = XML_PRODUCT_NAME, required = true)
private String productName;
@XmlElement(name = XML_QUANTITY, required = true)
private Integer quantity;
@XmlElement(name = XML_UOM, required = true)
private String uom;
@XmlElement(name = XML_BATCH, required = true)
private String batch;
@XmlElement(name = XML_INDICATOR, required = true)
private String indicator;
@XmlElement(name = XML_SHELF_LIFE, required = true)
private Integer shelflife;
@XmlElement(name = XML_COUNTRY_OF_ORIGIN, required = true)
private String countryOfOrigin;
@XmlElement(name = XML_CITY, required = true)
private String city;
@XmlElement(name = XML_RESERVED1, required = false)
private String reserved1;
@XmlElement(name = XML_RESERVED2, required = false)
private String reserved2;
@XmlElement(name = XML_RESERVED3, required = false)
private String reserved3;
@XmlElement(name = XML_RESERVED4, required = false)
private String reserved4;
@XmlElement(name = XML_RESERVED5, required = false)
private String reserved5;
public String getDeliveryNum() {
return deliveryNum;
}
public String getWareHouseNum() {
return wareHouseNum;
}
public String getLineNum() {
return lineNum;
}
public String getHUIdent() {
return huIdent;
}
public String getProductNumber() {
return productNumber;
}
public String getProductEAN() {
return productEAN;
}
public String getProductName() {
return productName;
}
public Integer getQuantity() {
return quantity;
}
public String getUOM() {
return uom;
}
public String getBatch() {
return batch;
}
public String getIndicator() {
return indicator;
}
public Integer getShelflife() {
return shelflife;
}
public String getCountryOfOrigin() {
return countryOfOrigin;
}
public String getCity() {
return city;
}
public String getReserved1() {
return reserved1;
}
public String getReserved2() {
return reserved2;
}
public String getReserved3() {
return reserved3;
}
public String getReserved4() {
return reserved4;
}
public String getReserved5() {
return reserved5;
}
}
}
最佳答案
问题已经解决了。我已经使用 SOAPUI 为我的 WSDL 生成 SOAP 请求。解决方案是:
@WebMethod
public Integer transferPalletRecords2(PalletRecord2Array palRec) {
try {
System.out("Got " + palRec.getItems().size() + " items!");
} catch (Exception e) {
e.printStackTrace();
}
return 0;
}
// PalletRecord XML Struktur
@XmlRootElement(name = "arg0")
@XmlAccessorType(XmlAccessType.FIELD)
public static class PalletRecord2Array {
@XmlElement(name = "item", required = true)
protected List<Item> items;
public List<Item> getItems() {
if (items == null) {
items = new ArrayList<>();
}
return items;
}
}
public static class Item {
...
}
关于java - 仅使用 XSD 的 JAX WS WebService 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34791042/
我知道我以前在某个地方看到过这个,但我再也找不到它了。我需要一个从另一个 xsd 中调用 xsd 文件的示例。这在生成大量 xml 文件的情况下非常有用,但在这些 xml 文件之间存在大量公共(pub
有人知道供应商中立的 XSD 来描述关系数据库模式吗?我们的系统需要获取有关数据库结构的信息: 表 列和类型 主键和外键约束 索引 等 以独立于供应商的方式并将其存储在 XML 文件中以供以后处理。
我在 XSD 中使用 gml (3.1.1) XSD 作为我的应用程序。我想下载版本 3.1.1 中的所有 gml XSD,例如 zip 文件。换句话说:基本 xsd 是 here我想用 zip 文件
我想要一个 XSD 来验证包含具有许多别名但每个别名具有不同值的文件元素的 XML。 这是我的 XML: Document1
我看到一个 xml 架构 ( EPP ) 将 xsd:choice 与一个元素一起使用,即使我们可以使用 xsd:enumeration 代替:
我目前工作的公司将架构或契约(Contract)版本编入根节点。例如, ... 我正在寻找人们对这种设计方法的意见,因为我不相信它是合理的。例如,它要求所有使用此模式作为消息传递契约的服务都能够发
我在处理 Web 服务响应时遇到了 Apache CXF 解析错误。归结为一个空元素被返回: 元素定义如下: 现在我在 CXF 邮件列表上看到了 empty value is not allowe
XSD 可以为比较两个元素添加约束吗? 假设我在 DataRangeType 下有 Begin End 我想添加一个约束说 Begin 非常
我想声明一个要包含在复杂类型声明中的元素,并且该元素有一个强制属性:“option=MyOption”,但是“选项”属性的值可以是任何值,具体取决于上下文。 也就是说:在使用包含该元素的复杂类型的任何
我需要能够将简单元素类型设置为整数,但也可以将其设置为空。如果此示例为空且空白字段不是整数,则此示例将发送错误。我该如何解决? 最佳答案 您要做的是在同一元素上分配限制,并对其进行合并,例如以下示例
对于这个 xml: 我有这个模式,它似乎可以根据 w3 schema validation service 进行验证,并且该架构可以很好地验证上述 XML。遗憾的是,xsd.exe
我有两个 XSD 文件(源文件和目标文件)...我应该在什么基础上映射这两个文件以获得 XSLT?我知道 MapForce 如何帮助映射,但我使用示例项目..现在我想知道我应该在什么基础上映射我的客户
我有一个 .cs 文件,其中包含 XTypedElement 和 IXMetaData 的子类。微软有一个 tool that generates XSD files automatically来自托
这个问题在这里已经有了答案: XML Schema to validate XML Schemas? (3 个答案) 关闭 9 年前。 是否存在可验证其他 XML 架构的 Xml 架构? 我想做的是
假设我正在处理一个 xsd:simpleType,它是一个字符串,需要具有特定的字符集和特定的最大长度,类似于以下代码: 所以我的 xsd 类型将是一个只
JAXB 同时映射 xsd:base64Binary和 xsd:hexBinary类型为 byte[] . 鉴于我有一个架构/DOM 元素代表这些类型中的每一个,例如: ABCD对于 xsd:hexB
我非常确定我在这里遗漏了一些简单的东西。 我正在使用 netbeans 在两个单独的项目中创建一个 web jax-ws web 服务和一个客户端,并且我有一些自定义绑定(bind)已使用 net b
将字节数组表示为 XSD 架构的最佳方式是什么?我有一个字节输入,我需要解析它并将其提供给 JAXB 从 XSD 模式生成的 Java 对象以供将来验证。我输入中的每条信息都由偏移量和长度定义。我想将
我的架构的这一部分给我带来了麻烦:
我需要定义元素“MyData”的名为“DataValue”的属性。但要求是“DataValue”的类型可以动态更改,即数据值在一个实例中可以是字符串,而在其他实例中它可以是 int 或 bool。它可
我是一名优秀的程序员,十分优秀!