首页 文章

OpenShift上的Web服务

提问于
浏览
0

我在OpenShift上部署了一个Web服务,方法是使用@WebService注释一个类,使用@WebMethod注释一个公共方法 . 然后,我在WildFly8容器中部署了该类,服务器启动了该服务 . 为了能够访问WSDL文件,我必须在WEB-INF文件夹中创建一个文件“jboss-web.xml”并更改context-root .

现在我能够访问WSDL文件,但不能访问服务本身 . 问题出在wsdl文件的这一行:

<wsdl:service name="PlotterService">
    <wsdl:port binding="tns:PlotterServiceSoapBinding" name="PlotterPort">
      <soap:address location="http://127.8.173.1:8080/Plotter"/>
    </wsdl:port>
</wsdl:service>

地址位置设置为内部IP,应替换为我的应用程序的URL . 我怎样才能做到这一点?我能够修改的唯一文件是我在开头注释的类 .

1 回答

  • 0

    我设法解决了这个问题:

    Openshift默认没有Web服务设置,因此我们需要修改服务器配置 . 要执行此操作,请在编辑器中打开.openshift / config / standalone.xml(此文件可能已隐藏)并进行以下添加:

    如果webservices子系统未在元素下配置如下,请复制以下内容并替换webservices子系统以启用和配置Web服务:

    <subsystem xmlns="urn:jboss:domain:webservices:1.1">
        <modify-wsdl-address>true</modify-wsdl-address>
        <wsdl-host>${env.OPENSHIFT_APP_DNS}</wsdl-host>
        <wsdl-port>80</wsdl-port>
        <endpoint-config name="Standard-Endpoint-Config"/>
        <endpoint-config name="Recording-Endpoint-Config">
        <pre-handler-chain name="recording-handlers" protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM">
            <handler name="RecordingHandler" class="org.jboss.ws.common.invocation.RecordingServerHandler"/>
        </pre-handler-chain>
        </endpoint-config>
    </subsystem>
    

相关问题