/* */
/* 97 */ WSDLDefinitions wsdlDefinitions = serviceMetaData.getWsdlDefinitions();
/* */
/* 100 */ String mappingFile = wsdMetaData.getJaxrpcMappingFile();
/* 101 */ serviceMetaData.setMappingLocation(dep.getMetaDataFileURL(mappingFile));
/* 102 */ JavaWsdlMapping javaWsdlMapping = serviceMetaData.getJavaWsdlMapping();
/* 103 */ if (javaWsdlMapping == null) {
/* 104 */ throw new WSException("jaxrpc-mapping-file not configured from webservices.xml");
/* */ }
/* */
/* 107 */ setupTypesMetaData(serviceMetaData);
/* */
/* 110 */ WSSecurityConfigFactory wsseConfFactory = WSSecurityConfigFactory.newInstance();
/* 111 */ WSSecurityConfiguration securityConfiguration = wsseConfFactory.createConfiguration(wsMetaData.getRootFile(), WSSecurityOMFactory.SERVER_RESOURCE_NAME);
/* 112 */ serviceMetaData.setSecurityConfiguration(securityConfiguration);
/* */
/* 115 */ PortComponentMetaData[] pcMetaDataArr = wsdMetaData.getPortComponents();
/* 116 */ for (PortComponentMetaData pcMetaData : pcMetaDataArr)
/* */ {
/* 118 */ String linkName = pcMetaData.getEjbLink() != null ? pcMetaData.getEjbLink() : pcMetaData.getServletLink();
/* 119 */ QName portName = pcMetaData.getWsdlPort();
/* */
/* 123 */ if (portName.getNamespaceURI().length() == 0)
/* */ {
/* 125 */ String nsURI = wsdlDefinitions.getTargetNamespace();
/* 126 */ portName = new QName(nsURI, portName.getLocalPart());
/* 127 */ this.log.warn("Adding wsdl targetNamespace to: " + portName);
/* 128 */ pcMetaData.setWsdlPort(portName);
/* */ }
/* */
/* 131 */ WSDLEndpoint wsdlEndpoint = getWsdlEndpoint(wsdlDefinitions, portName);
/* 132 */ if (wsdlEndpoint == null) {
/* 133 */ throw new WSException("Cannot find port in wsdl: " + portName);
/* */ }
/* */
/* 136 */ serviceMetaData.setServiceName(wsdlEndpoint.getWsdlService().getName());
/* 137 */ QName interfaceQName = wsdlEndpoint.getInterface().getName();
/* */
/* 139 */ Endpoint ep = dep.getService().getEndpointByName(linkName);
/* 140 */ ServerEndpointMetaData sepMetaData = new ServerEndpointMetaData(serviceMetaData, ep, portName, interfaceQName, EndpointMetaData.Type.JAXRPC);
/* 141 */ sepMetaData.setPortComponentName(pcMetaData.getPortComponentName());
/* 142 */ sepMetaData.setLinkName(linkName);
/* 143 */ serviceMetaData.addEndpoint(sepMetaData);
/* */
/* 145 */ initEndpointEncodingStyle(sepMetaData);
/* */
/* 147 */ initEndpointAddress(dep, sepMetaData);
/* */
/* 149 */ EJBArchiveMetaData apMetaData = (EJBArchiveMetaData)dep.getAttachment(EJBArchiveMetaData.class);
/* 150 */ JSEArchiveMetaData webMetaData = (JSEArchiveMetaData)dep.getAttachment(JSEArchiveMetaData.class);
/* 151 */ if (apMetaData != null)
/* */ {
/* 153 */ wsMetaData.setSecurityDomain(apMetaData.getSecurityDomain());
/* */
/* 156 */ String wsdName = serviceMetaData.getWebserviceDescriptionName();
/* 157 */ String wsdlPublishLocation = apMetaData.getWsdlPublishLocationByName(wsdName);
/* 158 */ serviceMetaData.setWsdlPublishLocation(wsdlPublishLocation);
/* */
/* 161 */ EJBMetaData bmd = apMetaData.getBeanByEjbName(linkName);
/* 162 */ if (bmd == null) {
/* 163 */ throw new WSException("Cannot obtain UnifiedBeanMetaData for: " + linkName);
/* */ }
/* 165 */ String configName = apMetaData.getConfigName();
/* 166 */ String configFile = apMetaData.getConfigFile();
/* 167 */ if ((configName != null) || (configFile != null)) {
/* 168 */ sepMetaData.setConfigName(configName, configFile);
/* */ }
/* 170 */ EJBSecurityMetaData smd = bmd.getSecurityMetaData();
/* 171 */ if (smd != null)
/* */ {
/* 173 */ String authMethod = smd.getAuthMethod();
/* 174 */ sepMetaData.setAuthMethod(authMethod);
/* 175 */ String transportGuarantee = smd.getTransportGuarantee();
/* 176 */ sepMetaData.setTransportGuarantee(transportGuarantee);
/* 177 */ Boolean secureWSDLAccess = Boolean.valueOf(smd.getSecureWSDLAccess());
/* 178 */ sepMetaData.setSecureWSDLAccess(secureWSDLAccess.booleanValue());
/* */ }
/* */ }
/* 181 */ else if (webMetaData != null)
/* */ {
/* 183 */ wsMetaData.setSecurityDomain(webMetaData.getSecurityDomain());
/* */
/* 185 */ String targetBean = (String)webMetaData.getServletClassNames().get(linkName);
/* 186 */ sepMetaData.setServiceEndpointImplName(targetBean);
/* */
/* 189 */ String wsdName = serviceMetaData.getWebserviceDescriptionName();
/* 190 */ String wsdlPublishLocation = webMetaData.getWsdlPublishLocationByName(wsdName);
/* 191 */ serviceMetaData.setWsdlPublishLocation(wsdlPublishLocation);
/* */
/* 193 */ String configName = webMetaData.getConfigName();
/* 194 */ String configFile = webMetaData.getConfigFile();
/* 195 */ if ((configName != null) || (configFile != null)) {
/* 196 */ sepMetaData.setConfigName(configName, configFile);
/* */ }
/* 198 */ initTransportGuaranteeJSE(dep, sepMetaData, linkName);
/* */ }
/* */
/* 202 */ ObjectName sepID = createServiceEndpointID(dep, sepMetaData);
/* 203 */ sepMetaData.setServiceEndpointID(sepID);
/* */
/* 205 */ replaceAddressLocation(sepMetaData);
/* */
/* 207 */ String seiName = pcMetaData.getServiceEndpointInterface();
/* 208 */ sepMetaData.setServiceEndpointInterfaceName(seiName);
/* */
/* 210 */ ServiceEndpointInterfaceMapping seiMapping = javaWsdlMapping.getServiceEndpointInterfaceMapping(seiName);
/* 211 */ if (seiMapping == null) {
/* 212 */ this.log.warn("Cannot obtain SEI mapping for: " + seiName);
/* */ }
/* */
/* 215 */ processEndpointMetaDataExtensions(sepMetaData, wsdlDefinitions);