【问题标题】:${something} in soap肥皂中的 ${something}
【发布时间】:2011-12-02 12:03:55
【问题描述】:

我有以下代码:

@WebMethod
public String replaceEnvironment(String someVar) {
    return someVar;
}

当我尝试发送包含${something} 子序列的字符串的消息时,我的字符串在解组后被截断:${something} 子字符串消失了。这种行为的原因是什么?我需要与我在replaceEnvironment 方法中发送的字符串相同。

P.S.我没有在我的项目中使用像 VelocityFreemaker 这样的库。

SOAP 示例。

请求:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"     xmlns:ws="http://ws.test.net/">
    <soapenv:Header/>
    <soapenv:Body>
    <ws:replaceEnvironment>
        <!--Optional:-->
        <arg0>test ${test} test</arg0>
    </ws:replaceEnvironment>
    </soapenv:Body>
</soapenv:Envelope>

回复:

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
    <S:Body>
        <ns2:replaceEnvironmentResponse xmlns:ns2="http://ws.test.net/">
            <return>test  test</return>
        </ns2:replaceEnvironmentResponse>
    </S:Body>
</S:Envelope>

谢谢。

【问题讨论】:

  • 请在此处填写有关 WSDL 的更多信息。(规则)

标签: java web-services jakarta-ee soap


【解决方案1】:

您是否有机会使用soapUI 进行测试调用?

这为请求中的 ${xxx} 序列赋予了特殊含义,将它们替换为等效的 soapUI 属性的值。

如果是这种情况,也许你可以使用“ 6;” (不带空格或引号)而不是美元,然后查看soapUI 是否会忽略您的序列并将其发送到您的后端代码。

HTH

【讨论】:

  • 哦...这确实是soapUI相关的行为。我什至不知道在没有soapUI 的情况下检查我的WS。谢谢!
猜你喜欢
  • 2018-04-12
  • 2012-04-27
  • 2012-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多