Liberty 프로필 16.0.0.3을 사용하여 원격 EJB 서비스 (MDM 서비스)를 호출하려고합니다. 내 조회 코드는 다음과 같습니다. 위의 코드와org.omg.CORBA.MARSHAL : Valuetype이 StreamableValue 또는 CustomMarshal을 구현하지 않습니다.
ctx = new InitialContext();
Object obj =
ctx.lookup("corbaname:iiop:myhost:9810/NameServiceServerRoot#com/dwl/base/requestHandler/beans/DWLServiceController");
dwlServiceControllerHome = (DWLServiceControllerHome)PortableRemoteObject.narrow(obj, DWLServiceControllerHome.class);
dwlServiceController = dwlServiceControllerHome.create();
HashMap<String, String> contextMap = createContextMap();
String response = dwlServiceController.processRequest(contextMap, wccReqString).toString().trim();
try {
StringReader reader = new StringReader(response);
StreamSource streamSource = new StreamSource(reader);
tcrmResp = (TCRMService) providerMarshaller.unmarshal(streamSource);
} catch (Exception e) {
e.printStackTrace();
throw e;
}
I EJB service.Positive 시나리오는 우리가 오류 아래 점점 (원격 EJB 서비스는 사용자 정의 유효 예외를 던질 때) 부정적인 시나리오 데이터와 서비스를 테스트 어떤 issue.When없이 노력하고 원격 호출 할 수 있습니다.
[ERROR ] MARSHAL "Valuetype does not implement StreamableValue or CustomMarshal", at pos=0x214
[err] org.omg.CORBA.MARSHAL: Valuetype does not implement StreamableValue or CustomMarshal: vmcid: 0x0 minor code: 0x0 completed: No
[err] at org.apache.yoko.orb.OB.ValueReader.unmarshalValueState(ValueReader.java:716)
[err] at org.apache.yoko.orb.OB.ValueReader.access$300(ValueReader.java:54)
[err] at org.apache.yoko.orb.OB.ValueReader$ClassCreationStrategy.create(ValueReader.java:196)
[err] at [internal classes]
[err] at java.lang.Throwable.readObject(Throwable.java:388)
[err] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[err] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
[err] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
[err] at java.lang.reflect.Method.invoke(Method.java:508)
[err] at org.apache.yoko.rmi.impl.ValueDescriptor.readSerializable(ValueDescriptor.java:735)
[err] at [internal classes]
[err] at org.apache.yoko.orb.OB.ValueReader.access$200(ValueReader.java:54)
[err] at org.apache.yoko.orb.OB.ValueReader$ClassCreationStrategy.create(ValueReader.java:189)
[err] at [internal classes]
[err] at com.dwl.base.requestHandler.beans._DWLServiceController_Stub.processRequest(_DWLServiceController_Stub.java:1001)
우리는 JDK 8/썬 JDK 기술 사양
- 봄 부팅 1.2.4/1.4.2
- 자유 프로필 16.0.0.3
- IBM 이하로 사용하는 8
좀 더 쉽게 읽을 수 있도록 질문에 기본 서식을 추가했습니다. 다음 번에 직접 할 수 있도록 Stack Overflow의 [formatting guidelines] (https://stackoverflow.com/help/formatting)를 검토하십시오. – Chris