此内容没有您所选择的语言版本。

13.9.18. Using the SOAPProxy Action


A SOAPProxy action is:
  • both a producer and consumer of web services.
  • all that is required is a property pointing to the external wsdl.
  • a way to allow the WSDL to be automatically transformed (via the optional wsdlTransform property.)
  • a way to ensure that SOAP is not tied to HTTP. The WSDL is read, and if an HTTP transport is defined, that will be used.
  • a way to optionally apply HttpRouter properties as overrides if you are using HTTP.
If the WSDL specifies an HTTP transport, then any of the HttpRouter properties can be applied.
Expand
Table 13.35. 
Property Description Required
wsdlTransform
A <smooks-resource-list> xml config file allowing for flexible wsdl transformation.
No
wsdlCharset
The character set the original wsdl (and imported resources) is encoded in UTF-8. It will be transformed to UTF-8 if it is a supported encoding by the underlying platform.
No
endpointUrl
Example of an HttpRouter property, useful when domain name matching is important for SSL certs.
No
file
Apache Commons HTTPClient properties file, useful when proxying to a web service via SSL.
No
clientCredentialsRequired
Whether the Basic Auth credentials are required to come from the end client, or if the credentials specified inside file can be used instead. Default is "true".
No
wsdl
The original wsdl url whose WS endpoint will get re-written and exposed as new wsdl from the ESB. Depending upon the <definitions><service><port><soap:address location attribute's protocol (for example "http"), a protocol-specific SOAPProxyTransport implementation is used.
The value can reference a location based on five different schemes:
  • http://
    When you want to pull wsdl from an external web server.
    Example: http://host/foo/HelloWorldWS?wsdl
  • https://
    When you want to pull wsdl from an external web server over SSL.
    Example: https://host/foo/HelloWorldWS?wsdl
  • file://
    When your wsdl is located on disk, accessible by the ESB JVM.
    Example: file:///tmp/HelloWorldWS.wsdl
    Note: Three slashes in the example above. This is so we can specify an absolute versus relative file path.
  • classpath://
    When you want to package your wsdl inside your ESB archive.
    Example: classpath:///META-INF/HelloWorldWS.wsdl
    Note the three slashes in the example above. This is so we can specify an absolute versus relative classloader resource path.
  • internal://
    When the wsdl is being provided by a JBossWS web service inside the same JVM as this ESB deployment.
    Example: internal://jboss.ws:context=foo,endpoint=HelloWorldWS

    Note

    This scheme should be used instead of http or https in the usage described above. This is because on server restart, Tomcat may not yet be accepting incoming http/s requests, and thus cannot serve the wsdl.
Yes

Example 13.16. Sample Configuration: Basic scenario

<action name="proxy" class="org.jboss.soa.esb.actions.soap.proxy.SOAPProxy">
    <property name="wsdl" value="http://host/foo/HelloWorldWS?wsdl"/>
</action>
Copy to Clipboard Toggle word wrap

Example 13.17. Sample Configuration: Basic Authentication and SSL

<action name="proxy" class="org.jboss.soa.esb.actions.soap.proxy.SOAPProxy">
    <property name="wsdl" value="https://host/foo/HelloWorldWS?wsdl"/>
    <property name="endpointUrl" value="https://host/foo/HelloWorldWS"/>
    <property name="file" value="/META-INF/httpclient-8443.properties"/>
    <property name="clientCredentialsRequired" value="true"/>
</action>
Copy to Clipboard Toggle word wrap

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat