ठीक है, मुझे वास्तव में एक अजीब समस्या है कि मैं आज लगभग 4 घंटों तक Google और याहू में समाधान ढूंढ रहा हूं। और मैं सख्त समाधान की तलाश में हूं।javax.xml.ws.WebServiceException: अपरिभाषित बंदरगाह प्रकार जावा स्ट्रूट्स SOAP WSDL
public static String [] checkCardAccount(String cardNumber, String cardIssuer, String securityNumber){
URL url = null;
try {
url = new URL("http://localhost:8999/bankcard?wsdl");
} catch (MalformedURLException e) {
e.printStackTrace();
}
QName qname = new QName("http://server.bcard.soap.com/","BankCardImplService");
Service service = Service.create(url,qname);
BankCard bankcard = service.getPort(BankCard.class);
return bankcard.getCardClientData(cardNumber, cardIssuer);
}
ऊपर कोड सोप सेवा तक पहुँचने के लिए अपने ग्राहक है, यह वास्तव में एक स्टैंडअलोन जावा आवेदन में काम करता है, लेकिन जब मैं इसे अपने जावा Struts आवेदन करने के लिए एम्बेड इसके नीचे
javax निम्न त्रुटि का कहना है .xml.ws.WebServiceException: अपरिभाषित पोर्ट प्रकार: {http://bankcard.api.com/}BankCard com.sun.xml.internal.ws.client.WSServiceDelegate.getPort (WSServiceDelegate.java:349) com.sun.xml.internal.ws.client.WSServiceDelegate.getPort (WSServiceDelegate.java:355)परपर javax.xml.ws.Service.getPort (Service.java:161) com.api.bankcard.BankCardClient.checkCardAccount (BankCardClient.java:25) com.action.CardregAction.execute (CardregAction.java: 18) org.apache.struts.chain.commands.servlet.ExecuteAction.execute (ExecuteAction.java:58) org.apache.struts.chain.commands.AbstractExecuteAction.execute (AbstractExecuteAction.java:67 पर पर) org.apache.struts.chain.commands.ActionCommandBase.execute (ActionCommandBase.java:51) org.apache.commons.chain.impl.ChainBase.execute (ChainBase.java:191) पर संगठन पर पर। apache.commons.chain.generic.LookupCommand.execute (LookupCommand.java:305) org.apache.commons.chain.impl.ChainBase.execute (ChainBase.java:191) org.apache.struts.chain.ComposableRequestProcessor.process (ComposableRequestProcessor.java:283) पर पर org.apache पर .struts.action.ActionServlet.process (ActionServlet.java:1913) org.apache.struts.action.ActionServlet.doPost (ActionServlet.java:462) javax.servlet.http.HttpServlet.service पर पर (HttpServlet। जावा: 637) javax.servlet.http.HttpServlet.service (HttpServlet.java:717) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:290 पर) पर org.apache.catalina पर .core.ApplicationFilt erChain.doFilter (ApplicationFilterChain.java:206) org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:233) पर org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java पर: 191) org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:127 पर ) org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:102 पर ) org.apache पर 0c351641061745151505369 परorg.apache.coyote.http11.Http11Processor.process (Http11Processor.java:857) पर org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process (Http11Protocol.java:588) org.apache.tomcat पर .util.net.JIoEndpoint $ Worker.run (JIoEndpoint.java:489) java.lang.Thread.run (थ्रेड।जावा: 662)
अब मैं वास्तव में लगता है कि समस्या लक्ष्य नाम स्थान है, क्योंकि जैसा कि मैंने यह त्रुटि परिवर्तन बदलने कि करने के लिए यह कहना है कि वैध सेवाओं {http://bankcard.api.com/}BankCard
जहाँ मैं गलत हो गया है? यह कोड जावा एप्लिकेशन पर स्टैंडअलोन पर काम करता है लेकिन मेरे जावा स्ट्रैट्स वेब ऐप में नहीं,
साथ, मेरे लिए काम किया धन्यवाद। @WebService (endpointInterface = "com.website.test.CalWebservice") – BustedSanta
@anil कुमार, क्या आप कृपया एक उदाहरण दिखा सकते हैं कि पूरी तरह से योग्य पोर्ट नाम का उल्लेख कैसे करें? – Alexandr