質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Q&A

解決済

1回答

1693閲覧

JAX-WSクライアントがCannot create a secure XMLInputFactoryで落ちてしまう

kagemaru

総合スコア12

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

0グッド

0クリップ

投稿2019/06/11 07:44

いつもお世話になっております。
現在、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

何卒よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

色々しらべましたが、セキュアの問題だと言うことがなんとなくですが理解出来ました。
リンク内容
根本的な解決にはなっていませんがTomcatのJVM起動パラメータに"-Dorg.apache.cxf.stax.allowInsecureParser=1"を指定する事でセキュリティレベルを下げて半ば強引に解消しました。
とりあえず、ローカルのテストはこれで凌げるので解決済みとさせて頂きます。

投稿2019/06/13 08:56

kagemaru

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問