0

我编写了一个 java 服务类并基于该类创建了一个 Web 服务(使用 eclipse Juno 和 Apache 作为 Web 服务器)。我的服务方法的返回类型是 ProductInfoOutput,内部由 ProductInfo 和 ResponseStatus 组成。但是当我在 WSDL 文件中看到时,我发现两个基于 ResponseStatus 的对象。我不知道为什么。也许在开发时我这样做了,但现在 ProductInfoOutput 只有一个 ResponseStatus 实例。您能否建议我如何从 WSDL 中删除这个额外的对象。以下是来自 WSDL 的部分。

<complexType name="ProductInfoOutput">
<sequence>
 <element name="productInfo" nillable="true" type="tns1:ProductInfo"/>
 <element name="responseStatus" nillable="true" type="tns1:ResponseStatus"/>
 <element name="response" nillable="true" type="tns1:ResponseStatus"/>
</sequence>
</complexType>

服务等级:

ProductInfoOutput productInfoOutput;
DatabaseQueries query;

public ProductInfoOutput getProductInfo(String barcode) {
    productInfoOutput=new ProductInfoOutput();
    query=new DatabaseQueries();
    productInfoOutput=query.retrieveSingleProductByBarcode(barcode);
    return productInfoOutput;
}
4

1 回答 1

0

经过两天的浪费,我找到了问题的根本原因。项目中有一个 server-config.wsdd 文件,它是您第一次创建 Web 服务时自动创建的,即使您更新业务类也不会更新。我从 wsdd 手动删除了服务,并从业务类重新创建了 Web 服务。

于 2013-02-13T18:59:57.770 回答