【发布时间】:2011-11-07 03:28:06
【问题描述】:
我正在将 JAX-WS 用于 Web 服务。
每当我使用 char 作为方法参数时,我都会将它作为 xsd 中的 unsignedShort(关注 weatherLetter)。
声明如下:
@WebMethod
public boolean setWXtatus(
@WebParam(name = "weatherLetter") char weatherLetter,
@WebParam(name = "weatherDigit") int weatherDigit,
@WebParam(name = "cloudCover") int cloudCover,
@WebParam(name = "cloudBaseInHundredsOfFeet") int cloudBaseInHundredsOfFeet,
@WebParam(name = "pressureInHg") int pressureInHg,
@WebParam(name = "visibilityInKm") int visibilityInKm,
@WebParam(name = "windSpeed") int windSpeed,
@WebParam(name = "windDirection") int windDirection,
@WebParam(name = "lastUpdateHour") int lastUpdateHour,
@WebParam(name = "lastUpdateMin") int lastUpdateMin
)
这是我得到的类型映射:
<xs:complexType name="setWXStatus">
<xs:sequence>
<xs:element name="weatherLetter" type="xs:unsignedShort" minOccurs="0"/>
<xs:element name="weatherDigit" type="xs:int"/>
<xs:element name="cloudCover" type="xs:int"/>
<xs:element name="cloudBaseInHundredsOfFeet" type="xs:int"/>
<xs:element name="pressureInHg" type="xs:int"/>
<xs:element name="visibilityInKm" type="xs:int"/>
<xs:element name="windSpeed" type="xs:int"/>
<xs:element name="windDirection" type="xs:int"/>
<xs:element name="lastUpdateHour" type="xs:int"/>
<xs:element name="lastUpdateMin" type="xs:int"/>
</xs:sequence>
</xs:complexType>
如何让 weatherLetter 生成为 Char 或 1 个字母字符串之类的?
【问题讨论】:
-
玩具是否尝试过在声明中将其从 char 更改为 String?
-
另外,如果您可以发布一些服务器端代码以查看它发送的内容会很好。
-
不推送,但如果你找到一个被接受的答案,请随意将其标记为一个:)
标签: java web-services jakarta-ee jaxb jax-ws