2013-05-09 2 views
1

Apache ODE를 사용하여 Windows Azure에 배포 된 웹 서비스를 조율하려고합니다. Eclipse 통합 웹 서비스 탐색기로 서비스를 테스트하고있다. 푸른 WS는 잘 작동하지만 난 Artifacts.wsdl을 테스트 할 때 다음과 같은 오류가 발생합니다 :Apache ODE를 사용하여 azure에 배포 된 웹 서비스 조정 오류

process.bpel

Artifacts.wsdl

mod2.wsdl

: 여기

14:41:38,777 INFO [DeploymentPoller] Deployment of artifact BPEL_process successful: [{http://artifacts}process-132] 
14:41:49,474 WARN [SimpleScheduler] Dispatching jobs with more than 5 minutes delay. Either the server was down for some time or the job load is greater than available capacity 
14:41:57,594 WARN [ExternalService] Fault response: faultType=(unkown) 
<?xml version='1.0' encoding='utf-8'?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><s:Fault><faultcode xmlns:a="http://schemas.microsoft.com/net/2005/12/windowscommunicationfoundation/dispatcher">a:InternalServiceFault</faultcode><faultstring xml:lang="en-US">The server was unable to process the request due to an internal error. For more information about the error, either turn on IncludeExceptionDetailInFaults (either from ServiceBehaviorAttribute or from the &lt;serviceDebug> configuration behavior) on the server in order to send the exception information back to the client, or turn on tracing as per the Microsoft .NET Framework 3.0 SDK documentation and inspect the server trace logs.</faultstring></s:Fault></s:Body></s:Envelope> 
14:41:57,620 ERROR [INVOKE] Failure during invoke: 
14:41:57,623 INFO [BpelRuntimeContextImpl] ActivityRecovery: Registering activity 15, failure reason: on channel 27 

이 파일입니다을 mod2.xsd

편집이 내 웹 서비스에 IncludeExceptionDetailInFaults를 추가 할 때 내가 무엇을 얻을 : 아직도

17:51:49,762 WARN [ExternalService] Fault response: faultType=(unkown) 
<?xml version='1.0' encoding='utf-8'?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><s:Fault><faultcode xmlns:a="http://schemas.microsoft.com/net/2005/12/windowscommunicationfoundation/dispatcher">a:InternalServiceFault</faultcode><faultstring xml:lang="en-US">Object reference not set to an instance of an object.</faultstring><detail><axis2ns1:ExceptionDetail xmlns:axis2ns1="http://schemas.datacontract.org/2004/07/System.ServiceModel" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><axis2ns1:HelpLink i:nil="true" /><axis2ns1:InnerException i:nil="true" /><axis2ns1:Message>Object reference not set to an instance of an object.</axis2ns1:Message><axis2ns1:StackTrace> at WCFServiceWebRole1.AzureImpl.mod2(String arg0)&#xd; 
    at SyncInvokemod2(Object , Object[] , Object[])&#xd; 
    at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]&amp; outputs)&#xd; 
    at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc&amp; rpc)&#xd; 
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc&amp; rpc)&#xd; 
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc&amp; rpc)&#xd; 
    at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)</axis2ns1:StackTrace><axis2ns1:Type>System.NullReferenceException</axis2ns1:Type></axis2ns1:ExceptionDetail></detail></s:Fault></s:Body></s:Envelope> 
17:51:49,798 ERROR [INVOKE] Failure during invoke: 
17:51:49,801 INFO [BpelRuntimeContextImpl] ActivityRecovery: Registering activity 15, failure reason: on channel 27 

무슨 뜻인지 전혀 단서

. 이클립스는 내 bpel 파일에서 오류를 지적합니다. <assign> 아래의 <copy> 태그는

The from-spec of "<xs:simpleType "string">" is not compatible with to-spec of "<xs:complexType>"을 던집니다.하지만 xsd 스키마를 따르면 나에게 의미가 없기 때문에 때로는 사라져 버리기 때문에 무시했습니다.

편집 II는 :

<assign> 활동이 잘못 @vanto에서 언급 한 바와 같이. 나는 CDATA 태그에 내 WSDL의 네임 스페이스의 접두사를 추가했다 : 아직도

<bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"> 
    <![CDATA[mod2:mod2Result]]> 
</bpel:query> 

할 완전히 understantand하지 네임 스페이스하지만 그것이 내가 의해 가져온 XSD에 elementFormDefault="qualified"을 추가 한 사실과 관련이 보인다 Azure 서비스 wsdl.

답변

1

오류는 ODE에 응답으로 비누 오류가 있음을 의미합니다. 호출 된 웹 서비스에서 예외가 발생했음을 나타냅니다. 무엇이 잘못되었는지에 대한 자세한 내용을 보려면 웹 서비스의 로그를 확인하거나 IncludeExceptionDetailInFaults 기능을 설정하십시오. ODE가 보내는 메시지의 유효성을 검사하지 않기 때문에, 귀하의 <assign> 활동이 올바른 요청을 작성하지 않으면 ODE는 통지하지 않지만 호출 된 서비스는 불만을 제기 할 것입니다.

+0

감사합니다. @vanto, 내 WS에 IncludeExceptionDetailInFaults를 추가했지만 아직 단서가 없습니다. 편집 된 질문을보십시오. – eskalera