2012-02-07 2 views
0

problem from yesterday이 말을합니다. 그래도 해결되지 않았습니다.
1 : 그래서 여기JBoss WS 임시 파일이 잘못 저장되었습니다.

내가 가진 NPE는 내가 로깅 (org.jboss.util.xml.JBossEntityResolver)을 TRACE로 전환 될 때까지 숨겨진 FileNotFoundException이에 의해 촉발되었다 ...

는 것입니다. 다음 때를

file:/home/xxx/dev/XXXX/jboss-4.2.3.GA/server/yyy/tmp/jbossws/JBossWS_www.company.xx_99_server_soap.php?wsdl=get8489235369016302536.xsd 

3) 그리고 :) 나는 보스
2) JBossWs 아래에 배포되는 코드에서 웹 서비스에 연결을 시도하고있어이 같은 TMP 폴더에 WSDL을 저장 W를 다시 읽으려고합니다. SDL :

TRACE [org.jboss.util.xml.JBossEntityResolver] Failed to obtain URL.InputStream from systemId: file:/home/xxx/dev/xxx-PAN/jboss-4.2.3.GA/server/xxxxxxx/tmp/jbossws/JBossWS_www.comany.xx_99_server_soap.php?wsdl=get8489235369016302536.xsd 
java.io.FileNotFoundException: /home/xxx/dev/xxx-PAN/jboss-4.2.3.GA/server/xxxxxxx/tmp/jbossws/JBossWS_www.comany.xx_99_server_soap.php 

분명히 자르고 다시 읽을 수 없습니다.

필자는 디스크에 쓰는 방법이나 읽는 방법을 어떻게 든 구성 할 수있을 것이라고 생각하지만 솔루션 (심지어 언급 한 JBoss 클래스의 코드가 아님)을 찾았습니다. 어떤 아이디어라도 감사 할 것입니다.

편집 : 그래서 여기

URL url = new URL("file:/home/abos/xxx/xxxx/jboss-4.2.3.GA/server/xxxxxxx/tmp/jbossws/JBossWS_www.company.xx_99_server_soap.php?wsdl=get8489235369016302536.xsd"); 
    url.openStream(); 

Exception in thread "main" java.io.FileNotFoundException: /home/xxx/dev/xxxx/jboss-4.2.3.GA/server/anchorage/tmp/jbossws/JBossWS_www.bdmglobal.xx_99_server_soap.php (No such file or directory) 
    at java.io.FileInputStream.open(Native Method) 
    at java.io.FileInputStream.<init>(FileInputStream.java:120) 
    at java.io.FileInputStream.<init>(FileInputStream.java:79) 
    at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:70) 
    at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:161) 
    at java.net.URL.openStream(URL.java:1010) 
    at Main.main(Main.java:11) 

내 결론은 다음과 같습니다 : 나는 리눅스 서버는 다음과 같은 코드가 포함 된 같은 파일을 가리키는 간단한 테스트 응용 프로그램을 만들었


1) 사실 그것은 이름을 잘리는 URL 클래스입니다.
2.) 제대로 저장 되었으면 문제가되지 않습니다.

그래서 아직 구성하는 방법을 찾고 있습니다.

+0

다음은 내 원래 게시물입니다. http://stackoverflow.com/questions/9158923/jboss-webservice-npe – dbalakirev

답변

1

내 대답이 도움이되지 않을 정도로 .... /tmp와 같은 jboss.server.temp.dir 속성을 설정하고 테스트 사례를 다시 실행하려고 시도 했습니까? 몇 가지 하드 코드 된 길이가있을 수 있으며 경로를 줄이면 문제를 해결할 수 있습니다. 또 다른 속임수는 wsdl을 요청하고 JNDI를 통해 게시하여 클라이언트 지점에서 모든 문제를 피할 수있는 .sar Jboss 서비스를 설정하는 것입니다. 보기? 스트림을 처리하고 JNDI 트리에 넣어야합니다. 경로가 없습니다.

JBoss 이 파일을 저장할 때 문제가 발생하면 문제가 해결되지 않을 수 있습니다. 그래서 wsdl을 스트림 (또는 원하는 Reader 나 InputStream을 사용하는 텍스트)으로 가져 와서 JNDI 트리에 직접 넣는 것이 좋습니다. HTH Jerome

+0

안녕하세요, 답변 해 주셔서 감사합니다. 그래서 나는 임시 폴더 변경으로 해결하려고했습니다. 거기에서 운이 없다, 적어도 나는 또한 그것을 조정할 것을 배웠다. 감사. – dbalakirev

+0

두 번째 제안을 구현할 수 있는지 확인하려고합니다. 나는 내가 큰 그림을 얻을 수 있는지 잘 모르겠다. 내가 할 수 있는지 알게해라. – dbalakirev

+0

안녕하세요, 큰 그림은 스트림으로 직접 wsdl을 움켜 잡고 이러한 스트림을 넣는 Jboss 서비스 (.sar로 배포 됨)를 설치하는 것입니다. 원하는 이름 지정 규칙을 사용하여 JNDI 트리에 추가하십시오.귀하의 고객을 위해 그들을 찾는 것은 모든 Jboss 표준 속성을 가진 표준 JNDI 호출 (간단) 일 것입니다 ... 그것은 작동해야합니다 ... – romje

관련 문제