1 Reply Latest reply on Jun 30, 2008 6:25 AM by Alessio Soldano

    SSL not activating

    aodhan hoffman Newbie

      I'm deploying an EJB3 based web service on jboss 4.2.2. It deploys okay, and I can access it on port 8443, but not via https. JBoss says it's deployed to https, but only response via http.

      I'm not getting any errors in the log, can anyone give me a good idea as to what I'm missing? What needs to be set in order to tell JBoss to deploy via https? Thx.

      app. policy from login-config.xml

      <application-policy name="nlsapidev">
       <authentication>
       <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule"
       flag="required">
       <module-option name="usersProperties">props/jbossws-users.properties</module-option>
       <module-option name="rolesProperties">props/jbossws-roles.properties</module-option>
       <module-option name="unauthenticatedIdentity">anonymous</module-option>
       </login-module>
       </authentication>
       </application-policy>




      Deployed MetaData:
      UnifiedMetaData:
       implementation: jbossws-3.0.1-native-2.0.4.GA (build=200803312044)
       deploymentName: TimeService.jar
       securityDomain: nlsapidev
      
      ServiceMetaData:
       qname={http://www.boeing.com/nmt/ejb3/TimeService}TimeService
       refName=null
       wsdName=null
       wsdlFile=null
       wsdlLocation=file:/C:/jboss-4.2.2.GA/server/default/tmp/jbossws/TimeService7841.wsdl
       jaxrpcMapping=null
       publishLocation=null
       securityConfig=found
       properties=null
      
      TypesMetaData:
       [complexType={http://www.w3.org/2001/XMLSchema}string,javaType=java.lang.String]
      
      
      ServerEndpointMetaData as shown in the log:
       type=JAXWS
       qname={http://www.boeing.com/nmt/ejb3/TimeService}TimeAgentPortBindingNamePort
       id=jboss.ws:context=TimeService,endpoint=TimeServiceBean
       address=https://127.0.0.1:8443/TimeService
       binding=http://schemas.xmlsoap.org/wsdl/soap/http
       linkName=TimeServiceBean
       implName=com.boeing.nmt.ejb3.TimeServiceBean
       seiName=com.boeing.nmt.ejb3.TimeServiceBean
       serviceMode=null
       portComponentName=null
       contextRoot=/TimeService
       urlPattern=/*
       configFile=META-INF/standard-jaxws-endpoint-config.xml
       configName=Standard WSSecurity Endpoint
       authMethod=BASIC
       transportGuarantee=CONFIDENTIAL
       secureWSDLAccess=false
       properties={}
      
      OperationMetaData:
       qname={http://www.boeing.com/nmt/ejb3/TimeService}getCurrentTime
       javaName=getTime
       style=rpc/literal
       oneWay=false
       soapAction=getThisTimeSoapAction
      ReturnMetaData:
       xmlName=timeThis
       partName=timeThis
       xmlType={http://www.w3.org/2001/XMLSchema}string
       javaType=java.lang.String
       mode=OUT
       inHeader=false
       index=-1
      
      HandlerMetaDataJAXWS:
       type=POST
       name=WSSecurity Handler
       class=class org.jboss.ws.extensions.security.jaxws.WSSecurityHandlerServer
       params=[]
       protocols=##SOAP11_HTTP
       services=null
       ports=null
      
      HandlerMetaDataJAXWS:
       type=POST
       name=Recording Handler
       class=class org.jboss.wsf.framework.invocation.RecordingServerHandler
       params=[]
       protocols=##SOAP11_HTTP
       services=null
       ports=null



      jboss-wsse-server.xml:
      <?xml version="1.0" encoding="UTF-8"?>
      
      <jboss-ws-security
       xmlns='http://www.jboss.com/ws-security/config'
       xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
       <key-store-file>C:\jboss-4.2.2.GA\server\default\conf\server.keystore</key-store-file>
       <key-store-password>************</key-store-password>
       <trust-store-file>C:\jboss-4.2.2.GA\server\default\conf\server.truststore</trust-store-file>
       <trust-store-password>*************</trust-store-password>
       <config>
       <sign type="x509v3" alias="nlsapidev"/>
       <encrypt type="x509v3" alias="nlsapidev"/>
       <requires>
       <signature/>
       </requires>
       </config>
      </jboss-ws-security>



      endpointstandard-jaxws-endpoint-config.xml:

      <?xml version="1.0" encoding="UTF-8"?>
      <jaxws-config xmlns="urn:jboss:jaxws-config:2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:javaee="http://java.sun.com/xml/ns/javaee"
       xsi:schemaLocation="urn:jboss:jaxws-config:2.0 jaxws-config_2_0.xsd">
      
       <endpoint-config>
       <config-name>Standard WSSecurity Endpoint</config-name>
       <post-handler-chains>
       <javaee:handler-chain>
       <javaee:protocol-bindings>##SOAP11_HTTP</javaee:protocol-bindings>
       <javaee:handler>
       <javaee:handler-name>WSSecurity Handler</javaee:handler-name>
       <javaee:handler-class>org.jboss.ws.extensions.security.jaxws.WSSecurityHandlerServer</javaee:handler-class>
       </javaee:handler>
       </javaee:handler-chain>
       </post-handler-chains>
       </endpoint-config>
      
      </jaxws-config>




      and EJB class info:

      @SecurityDomain("nlsapidev")
      @PermitAll
      @WebService( //endpointInterface = "com.boeing.nmt.ejb3.TimeServiceEndpoint",
       name="TimeAgentPortBindingName",
       targetNamespace = "http://www.boeing.com/nmt/ejb3/TimeService",
       serviceName = "TimeService"
       )
      @SOAPBinding( style = SOAPBinding.Style.RPC,
       use=SOAPBinding.Use.LITERAL,
       parameterStyle=SOAPBinding.ParameterStyle.BARE
       )
      @WebContext( contextRoot="/TimeService",
       urlPattern="/*",
       authMethod="BASIC",
       transportGuarantee="CONFIDENTIAL",
       secureWSDLAccess=false
       )
      @EndpointConfig(configName = "Standard WSSecurity Endpoint")
      @Stateless
      public class TimeServiceBean implements com.boeing.nmt.ejb3.TimeServiceRemote
      {