Guest User

Untitled

a guest
Jun 28th, 2018
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.49 KB | None | 0 0
  1. <weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.8/weblogic-web-app.xsd">
  2.  
  3. <jsp-descriptor>
  4. <keepgenerated>true</keepgenerated>
  5. <debug>true</debug>
  6. </jsp-descriptor>
  7. <context-root>/SoapBasicAuth</context-root>
  8.  
  9. <container-descriptor>
  10. <prefer-application-packages>
  11. <package-name>javax.jws.*</package-name>
  12. </prefer-application-packages>
  13. </container-descriptor>
  14.  
  15. </weblogic-web-app>
  16.  
  17. <Ιουν 28, 2018 3:42:23,200 μμ EEST> <Warning> <Deployer> <BEA-149078> <Stack trace for message 149004
  18. weblogic.application.ModuleException: java.lang.ClassNotFoundException: javax.jws.WebService
  19. at weblogic.application.internal.ExtensibleModuleWrapper.start(ExtensibleModuleWrapper.java:140)
  20. at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:124)
  21. at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:233)
  22. at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:228)
  23. at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:45)
  24. Truncated. see log file for complete stacktrace
  25. Caused By: java.lang.ClassNotFoundException: javax.jws.WebService
  26. at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:1029)
  27. at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:990)
  28. at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:104)
  29. at weblogic.utils.classloaders.GenericClassLoader.doFindClass(GenericClassLoader.java:611)
  30. at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:543)
  31.  
  32. <?xml version="1.0" encoding="UTF-8"?>
  33. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  34. xmlns="http://java.sun.com/xml/ns/javaee"
  35. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
  36. <display-name>
  37. JavaWs
  38. </display-name>
  39.  
  40. <servlet>
  41. <servlet-name>cxfservlet</servlet-name>
  42. <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
  43. <load-on-startup>1</load-on-startup>
  44. </servlet>
  45.  
  46. <servlet-mapping>
  47. <servlet-name>cxfservlet</servlet-name>
  48. <url-pattern>/services/*</url-pattern>
  49. </servlet-mapping>
  50.  
  51. <security-constraint>
  52. <display-name>SecureConstraint</display-name>
  53.  
  54. <web-resource-collection>
  55. <web-resource-name>Secure folders</web-resource-name>
  56. <url-pattern>/views/* </url-pattern>
  57. </web-resource-collection>
  58.  
  59. <auth-constraint>
  60. <role-name>Administrators</role-name>
  61. </auth-constraint>
  62. </security-constraint>
  63.  
  64. <login-config>
  65. <auth-method>CLIENT-CERT,FORM</auth-method>
  66. <!-- <auth-method>FORM</auth-method> -->
  67. <realm-name>myrealm</realm-name>
  68. <form-login-config>
  69. <form-login-page>/views/login.xhtml</form-login-page>
  70. <form-error-page>/views/loginError.xhtml</form-error-page>
  71. </form-login-config>
  72. </login-config>
  73.  
  74. <security-role>
  75. <role-name>Administrators</role-name>
  76. </security-role>
  77.  
  78. </web-app>
  79.  
  80. package gr.teohaik.soapbasicauth;
  81.  
  82. import javax.jws.WebMethod;
  83. import javax.jws.WebParam;
  84. import javax.jws.WebService;
  85. import javax.naming.NamingException;
  86. import org.apache.cxf.interceptor.InInterceptors;
  87.  
  88.  
  89. @WebService
  90. @InInterceptors(interceptors =
  91. {"gr.teohaik.soapbasicauth.BasicAuthAuthorizationInterceptor",
  92. "gr.teohaik.soapbasicauth.SoapActionInInterceptor"})
  93. public class HelloWorld {
  94.  
  95. @WebMethod(operationName = "sayHelloMethod")
  96. public String sayHello(@WebParam(name = "name") String name) throws NamingException {
  97. return "hello from " + name;
  98. }
  99. }
  100.  
  101. package gr.teohaik.soapbasicauth;
  102.  
  103. import java.io.IOException;
  104. import java.io.OutputStream;
  105. import java.net.HttpURLConnection;
  106. import java.util.Arrays;
  107. import java.util.List;
  108. import java.util.Map;
  109. import org.apache.cxf.binding.soap.interceptor.SoapHeaderInterceptor;
  110. import org.apache.cxf.configuration.security.AuthorizationPolicy;
  111. import org.apache.cxf.endpoint.Endpoint;
  112. import org.apache.cxf.interceptor.Fault;
  113. import org.apache.cxf.message.Exchange;
  114. import org.apache.cxf.message.Message;
  115. import org.apache.cxf.transport.Conduit;
  116. import org.apache.cxf.transport.Destination;
  117. import org.apache.cxf.ws.addressing.EndpointReferenceType;
  118.  
  119. public class BasicAuthAuthorizationInterceptor extends SoapHeaderInterceptor {
  120.  
  121. @Override
  122. public void handleMessage(Message message) throws Fault {
  123.  
  124. AuthorizationPolicy policy = message.get(AuthorizationPolicy.class);
  125. // If the policy is not set, the user did not specify credentials.
  126. // 401 is sent to the client to indicate that authentication is required.
  127. if (policy == null) {
  128. sendErrorResponse(message, HttpURLConnection.HTTP_UNAUTHORIZED);
  129. return;
  130. }
  131. String username = policy.getUserName();
  132. String password = policy.getPassword();
  133.  
  134. // CHECK USERNAME AND PASSWORD
  135. if (!checkLogin(username, password)) {
  136. System.out.println("handleMessage: Invalid username or password for user: " +policy.getUserName());
  137. sendErrorResponse(message, HttpURLConnection.HTTP_FORBIDDEN);
  138. }
  139. }
  140.  
  141. //.....
  142. }
  143.  
  144. <pom>
  145.  
  146. <properties>
  147. <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
  148. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  149. <cxf.version>3.2.5</cxf.version>
  150. <spring.version>4.3.8.RELEASE</spring.version>
  151. </properties>
  152.  
  153. <dependencies>
  154.  
  155. <dependency>
  156. <groupId>javax</groupId>
  157. <artifactId>javaee-web-api</artifactId>
  158. <version>7.0</version>
  159. <scope>provided</scope>
  160. </dependency>
  161.  
  162. <dependency>
  163. <groupId>javax</groupId>
  164. <artifactId>javaee-api</artifactId>
  165. <version>7.0</version>
  166. <scope>provided</scope>
  167. </dependency>
  168.  
  169. <dependency>
  170. <groupId>org.primefaces</groupId>
  171. <artifactId>primefaces</artifactId>
  172. <version>6.1</version>
  173. </dependency>
  174.  
  175. <!-- CXF -->
  176. <dependency>
  177. <groupId>org.apache.cxf</groupId>
  178. <artifactId>cxf-rt-ws-security</artifactId>
  179. <version>3.2.5</version>
  180. </dependency>
  181.  
  182. <dependency>
  183. <groupId>org.apache.cxf</groupId>
  184. <artifactId>cxf-core</artifactId>
  185. <version>${cxf.version}</version>
  186. </dependency>
  187.  
  188. <dependency>
  189. <groupId>org.apache.cxf</groupId>
  190. <artifactId>cxf-rt-frontend-jaxws</artifactId>
  191. <version>${cxf.version}</version>
  192. </dependency>
  193.  
  194. <dependency>
  195. <groupId>org.apache.cxf</groupId>
  196. <artifactId>cxf-rt-transports-http</artifactId>
  197. <version>${cxf.version}</version>
  198. </dependency>
  199.  
  200. <dependency>
  201. <groupId>org.springframework</groupId>
  202. <artifactId>spring-core</artifactId>
  203. <version>${spring.version}</version>
  204. </dependency>
  205.  
  206. <dependency>
  207. <groupId>org.springframework</groupId>
  208. <artifactId>spring-context</artifactId>
  209. <version>${spring.version}</version>
  210. </dependency>
  211.  
  212. <dependency>
  213. <groupId>org.springframework</groupId>
  214. <artifactId>spring-web</artifactId>
  215. <version>${spring.version}</version>
  216. </dependency>
  217.  
  218. </pom>
Add Comment
Please, Sign In to add comment