দু'দিন ধরে চলাচল করার পরে আমি সমস্যার সমাধান খুঁজে পেয়েছি You আপনি ক্লাসগুলির জন্য কাজ করতে অবজেক্টফ্যাক্টরি ক্লাসটি ব্যবহার করতে পারেন যার @XMLRootElement নেই । জ্যাকএক্সবিলেমেন্টের চারপাশে মোড়ানোর জন্য ওজেক্টফ্যাক্টির ওভারলোডেড পদ্ধতি রয়েছে।
পদ্ধতি: 1 অবজেক্টের সহজ সৃষ্টি করে।
পদ্ধতি: 2 @JAXBElement দিয়ে অবজেক্টটি মোড়বে ।
Javax.xML.bind.MarshalException এড়ানোর জন্য সর্বদা পদ্ধতি: 2 ব্যবহার করুন - লিঙ্কযুক্ত ব্যতিক্রম একটি @XMLRootElement টীকা অনুপস্থিত।
দয়া করে নীচের নমুনা কোডটি সন্ধান করুন
পদ্ধতি: 1 অবজেক্টের সহজ সৃষ্টি করে
public GetCountry createGetCountry() {
return new GetCountry();
}
পদ্ধতি: 2 @JAXBElement দিয়ে অবজেক্টটি মোড়বে ।
@XmlElementDecl(namespace = "my/name/space", name = "getCountry")
public JAXBElement<GetCountry> createGetCountry(GetCountry value) {
return new JAXBElement<GetCountry>(_GetCountry_QNAME, GetCountry.class, null, value);
}
ওয়ার্কিং কোড নমুনা:
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
WebServiceTemplate springWSTemplate = context.getBean(WebServiceTemplate.class);
GetCountry request = new GetCountry();
request.setGuid("test_guid");
JAXBElement<GetCountryResponse> jaxbResponse = (JAXBElement<GetCountryResponse>)springWSTemplate .marshalSendAndReceive(new ObjectFactory().createGetCountry(request));
GetCountryResponse response = jaxbResponse.getValue();