いつもお世話になっております。
現在、JAX-WSを使用して、Webサービスの開発を行っているのですが、単純なクライアントを作成しサービスを呼び出そうとするとjavax.xml.ws.soap.SOAPFaultExceptionで落ちてしまいます。
八方手を尽くして調べたのですが解決の糸口さえ見つからない状態です。
打開する方法をご教示いただけないでしょうか?
以下にコードを示します。
問題のクライアント
java
1package com.example.client; 2 3import org.springframework.context.support.ClassPathXmlApplicationContext; 4 5import com.example.Hello; 6import com.example.Welcome; 7 8import jp.co.aaa.bbb.dto.AaaResponseDTO; 9import jp.co.aaa.bbb.service.AaaService; 10 11public final class Client { 12 13 private Client() { 14 } 15 16 @SuppressWarnings("resource") 17 public static void main(String args[]) throws Exception { 18 // START SNIPPET: client 19 ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( 20 new String[] { "client-beans.xml" }); 21 22 CancelAccessTokenService bean3 = (CancelAccessTokenService) context.getBean("cancelTokenServiceClient"); 23 24 AaaResponseDTO resp3 = bean3.invoke(null); 25 System.out.println("Response: " + resp3); 26 System.exit(0); 27 }
client-beans.xml
xml
1<?xml version="1.0" encoding="UTF-8"?> 2<beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:jaxws="http://cxf.apache.org/jaxws" 4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 5 xsi:schemaLocation=" 6http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 7http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"> 8 9 <jaxws:client id="aaaServiceClient" 10 serviceClass="jp.co.aaa.bbb.service.AaaService" 11 address="http://localhost:8080/aaa/Aaa" /> 12</beans>
pom.xml
xml
1<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 2 <modelVersion>4.0.0</modelVersion> 3 <groupId>org.springframework.samples</groupId> 4 <artifactId>sample3Cli</artifactId> 5 <version>0.0.1-SNAPSHOT</version> 6 7 <build> 8 <plugins> 9 <plugin> 10 <groupId>org.apache.maven.plugins</groupId> 11 <artifactId>maven-compiler-plugin</artifactId> 12 <version>3.1</version> 13 <configuration> 14 <source>1.8</source> 15 <target>1.8</target> 16 </configuration> 17 </plugin> 18 <plugin> 19 <groupId>com.zenjava</groupId> 20 <artifactId>javafx-maven-plugin</artifactId> 21 <version>2.0</version> 22 </plugin> 23 </plugins> 24 </build> 25 26 <properties> 27 28 <!-- Generic properties --> 29 <java.version>1.8</java.version> 30 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 31 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 32 33 <!-- Spring --> 34 <spring-framework.version>4.3.21.RELEASE</spring-framework.version> 35 36 <!-- Hibernate / JPA --> 37 <hibernate.version>4.2.1.Final</hibernate.version> 38 39 <!-- Logging --> 40 <logback.version>1.0.13</logback.version> 41 <slf4j.version>1.7.5</slf4j.version> 42 43 <!-- Test --> 44 <junit.version>4.11</junit.version> 45 46 </properties> 47 48 <dependencies> 49 <!-- Spring and Transactions --> 50 <dependency> 51 <groupId>org.springframework</groupId> 52 <artifactId>spring-context</artifactId> 53 <version>${spring-framework.version}</version> 54 </dependency> 55 <dependency> 56 <groupId>org.springframework</groupId> 57 <artifactId>spring-tx</artifactId> 58 <version>${spring-framework.version}</version> 59 </dependency> 60 61 <!-- https://mvnrepository.com/artifact/org.codehaus.woodstox/stax2-api --> 62 <dependency> 63 <groupId>org.codehaus.woodstox</groupId> 64 <artifactId>stax2-api</artifactId> 65 <version>3.1.4</version> 66 </dependency> 67 68 <!-- https://mvnrepository.com/artifact/org.codehaus.woodstox/woodstox-core-asl --> 69 <dependency> 70 <groupId>org.codehaus.woodstox</groupId> 71 <artifactId>woodstox-core-asl</artifactId> 72 <version>4.4.1</version> 73 </dependency> 74 75 <!-- Logging with SLF4J & LogBack --> 76 <dependency> 77 <groupId>org.slf4j</groupId> 78 <artifactId>slf4j-api</artifactId> 79 <version>${slf4j.version}</version> 80 <scope>compile</scope> 81 </dependency> 82 <dependency> 83 <groupId>ch.qos.logback</groupId> 84 <artifactId>logback-classic</artifactId> 85 <version>${logback.version}</version> 86 <scope>runtime</scope> 87 </dependency> 88 89 <!-- Hibernate --> 90 <dependency> 91 <groupId>org.hibernate</groupId> 92 <artifactId>hibernate-entitymanager</artifactId> 93 <version>${hibernate.version}</version> 94 </dependency> 95 96 97 <!-- Test Artifacts --> 98 <dependency> 99 <groupId>org.springframework</groupId> 100 <artifactId>spring-test</artifactId> 101 <version>${spring-framework.version}</version> 102 <scope>test</scope> 103 </dependency> 104 <dependency> 105 <groupId>junit</groupId> 106 <artifactId>junit</artifactId> 107 <version>${junit.version}</version> 108 <scope>test</scope> 109 </dependency> 110 111 <!-- https://mvnrepository.com/artifact/org.codehaus.woodstox/woodstox-core-asl --> 112 113 </dependencies> 114</project>
コンソール出力
16:23:18,988 Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@4ca8195f: startup date [Tue Jun 11 16:23:18 GMT+09:00 2019]; root of context hierarchy 16:23:19,058 Loading XML bean definitions from class path resource [client-beans.xml] INFO ReflectionServiceFactoryBean - Creating Service {http://example.com/}HelloService from class com.example.Hello INFO ReflectionServiceFactoryBean - Creating Service {http://example.com/}WelcomeService from class com.example.Welcome INFO ReflectionServiceFactoryBean - Creating Service {http://service.sevenps.zurich.co.jp/}CancelAccessTokenServiceService from class jp.co.aaa.bbb.service.AaaService Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Cannot create a secure XMLInputFactory at org.apache.cxf.jaxws.JaxWsClientProxy.mapException(JaxWsClientProxy.java:195) at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:145) at com.sun.proxy.$Proxy50.invoke(Unknown Source) at com.example.client.Client.main(Client.java:28) Caused by: org.apache.cxf.binding.soap.SoapFault: Cannot create a secure XMLInputFactory at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.unmarshalFault(Soap11FaultInInterceptor.java:87) at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:53) at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:42) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) at org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:112) at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:70) at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:35) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:826) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1693) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1570) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1371) at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:671) at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:63) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:531) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:440) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:355) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313) at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96) at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:140) ... 2 more
何卒よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。