チェンジセット 204

差分発生行の前後
無視リスト:
コミット日時:
2008/04/10 13:45:11 (14 年前)
コミッタ:
shinomiya
ログメッセージ:

「同一スレッド内でSOAPClientのインスタンスを2回作成すると、2回目に作成したSOAPClientインスタンスからWebサービスオペレーションを呼び出した際にエラー」を修正。


Exception in thread "main" java.lang.IllegalStateException?: Invoke initializer error

at org.intra_mart.jssp.page.JSSPInitializer.initializeJSSPRuntimeEnvironment(JSSPInitializer.java:95)
at org.intra_mart.jssp.page.JSSPInitializer.init(JSSPInitializer.java:47)
at Main.main(Main.java:16)

Caused by: org.mozilla.javascript.EvaluatorException?: Can't find method sample.web_service.MemberInfoOperatorServiceWithExceptionStub?$FindAll?.setWsUserInfo(sample.web_service.MemberInfoOperatorServiceWithExceptionStub?$WSUserInfo). (C:\eclipse\workplaces\im-ossc\im-jssp-projects\im-jssp-extention\target\work\jssp\_SOAPClient\sample\web_service\MemberInfoOperatorServiceWithExceptionStub?.js#35)

at org.mozilla.javascript.DefaultErrorReporter?.runtimeError(DefaultErrorReporter?.java:109)
at org.mozilla.javascript.Context.reportRuntimeError(Context.java:1030)
at org.mozilla.javascript.Context.reportRuntimeError(Context.java:1086)
at org.mozilla.javascript.Context.reportRuntimeError1(Context.java:1049)
at org.mozilla.javascript.NativeJavaMethod?.call(NativeJavaMethod?.java:162)
at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:3237)
at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2394)
at org.mozilla.javascript.InterpretedFunction?.call(InterpretedFunction?.java:162)
at org.mozilla.javascript.ContextFactory?.doTopCall(ContextFactory?.java:393)
at org.mozilla.javascript.ScriptRuntime?.doTopCall(ScriptRuntime?.java:2834)
at org.mozilla.javascript.InterpretedFunction?.call(InterpretedFunction?.java:160)
at org.intra_mart.jssp.script.ScriptScope?.call(ScriptScope?.java:133)
at org.intra_mart.jssp.script.ScriptScope?.call(ScriptScope?.java:105)
at org.intra_mart.jssp.page.JSSPInitializer.invokeInitializer4Script(JSSPInitializer.java:293)
at org.intra_mart.jssp.page.JSSPInitializer.initializeJSSPRuntimeEnvironment(JSSPInitializer.java:92)
... 2 more

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • trunk/im-jssp-extention/src/main/java/org/intra_mart/jssp/script/api/SOAPClientObject.java

    r202 r204  
    145145 
    146146                if(StubGenerationMode.Never.equals(_stubGenMode) == false){ 
    147                         ExtendedClassLoader classLoader4WsStub = new ExtendedClassLoader(origin); 
    148                         classLoader4WsStub.addClassPath(_soapClientWorkDir); 
    149                          
    150                         Thread.currentThread().setContextClassLoader(classLoader4WsStub); 
    151                         _soapClientClassLoaderThreadLocal.set(classLoader4WsStub); 
    152                 } 
    153                  
     147                         
     148                        ClassLoader oldExtendedClassLoader = _soapClientClassLoaderThreadLocal.get(); 
     149                        if(oldExtendedClassLoader != null){ 
     150                                Thread.currentThread().setContextClassLoader(oldExtendedClassLoader); 
     151                        } 
     152                        else{ 
     153                                ExtendedClassLoader classLoader4WsStub = new ExtendedClassLoader(origin); 
     154                                classLoader4WsStub.addClassPath(_soapClientWorkDir); 
     155                                 
     156                                Thread.currentThread().setContextClassLoader(classLoader4WsStub); 
     157                                _soapClientClassLoaderThreadLocal.set(classLoader4WsStub); 
     158                        } 
     159                } 
    154160 
    155161                try { 
     
    271277                                                                                          String portName, 
    272278                                                                                          String serviceName ) throws CodeGenerationException { 
    273                 // 引数を作成 
    274                 String[] args = generateArgs(wsdlLocationURI, outputLocation, portName, serviceName); 
    275                  
    276  
    277                 // CodeGenerationEngineを生成 () 
    278                 CommandLineOptionParser commandLineOptionParser = new CommandLineOptionParser(args); 
     279                               // 引数を作成 
     280                               String[] args = generateArgs(wsdlLocationURI, outputLocation, portName, serviceName); 
     281                                
     282                 
     283                               // CodeGenerationEngineを生成 () 
     284                               CommandLineOptionParser commandLineOptionParser = new CommandLineOptionParser(args); 
    279285                CodeGenerationEngine engine = new CodeGenerationEngine(commandLineOptionParser); 
    280286                return engine;