Galera estou tentando acessar um WebService .Net usando este cliente…
public class Client {
public static void enviaSMS(){
try {
ServiceFactory factory = null;
Service prestacaoService = null;
QName port = null;
Call call = null;
QName QNAME_TYPE_STRING = null;
String[] params = new String[3];
String qnameService = "service1";
String qnamePort = "ClientSMSSoap"; //carga dinâmica
String BODY_NAMESPACE_VALUE = "http://tempuri.org/";
String ENCODING_STYLE_PROPERTY = "javax.xml.rpc.encodingstyle.namespace.uri";
String NS_XSD = "http://www.w3.org/2001/XMLSchema";
String URI_ENCODING = "http://schemas.xmlsoap.org/soap/encoding/";
String endpoint = "http://10.1.41.2/wsinfosms/service1.asmx";
factory = ServiceFactory.newInstance();
prestacaoService = factory.createService(new QName(qnameService));
port = new QName(qnamePort);
call = prestacaoService.createCall(port);
call.setTargetEndpointAddress(endpoint);
call.setProperty(Call.SOAPACTION_USE_PROPERTY, new Boolean(true));
call.setProperty(Call.SOAPACTION_URI_PROPERTY, "");
call.setProperty(ENCODING_STYLE_PROPERTY, URI_ENCODING);
QNAME_TYPE_STRING = new QName(NS_XSD, "boolean");
call.setReturnType(QNAME_TYPE_STRING);
call.setOperationName(new QName(BODY_NAMESPACE_VALUE,"EnviarSMS"));
call.addParameter("ddd", QNAME_TYPE_STRING, ParameterMode.IN);
call.addParameter("numero", QNAME_TYPE_STRING, ParameterMode.IN);
call.addParameter("mensagem", QNAME_TYPE_STRING, ParameterMode.IN);
params[0] = new String("11");
params[1] = new String("81875182");
params[2] = new String("teste");
System.out.println((String)call.invoke(params));
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
}
e é gerado esta exception
[INFO] enterprise - -WSWS3243I: Info: Exceção de mapeamento para WebServicesFault. <Server did not recognize the value of HTTP Header SOAPAction: .>WebServicesFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client
faultString: Server did not recognize the value of HTTP Header SOAPAction: .
faultActor: null
faultDetail:
stackTrace: WebServicesFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Client
faultString: Server did not recognize the value of HTTP Header SOAPAction: .
faultActor: null
faultDetail:
Server did not recognize the value of HTTP Header SOAPAction: .
at com.ibm.ws.webservices.engine.xmlsoap.builders.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:227)
at com.ibm.ws.webservices.engine.xmlsoap.builders.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:155)
at com.ibm.ws.webservices.engine.events.P2DConverter.endElement(P2DConverter.java:405)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:569)
at org.apache.xerces.impl.XMLNamespaceBinder.handleEndElement(XMLNamespaceBinder.java:853)
at org.apache.xerces.impl.XMLNamespaceBinder.endElement(XMLNamespaceBinder.java:643)
at org.apache.xerces.impl.dtd.XMLDTDValidator.handleEndElement(XMLDTDValidator.java:3003)
at org.apache.xerces.impl.dtd.XMLDTDValidator.endElement(XMLDTDValidator.java:931)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.handleEndElement(XMLDocumentFragmentScannerImpl.java:1147)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:988)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1448)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:333)
at org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardParserConfiguration.java:525)
at org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardParserConfiguration.java:581)
at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:147)
at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1158)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at com.ibm.ws.webservices.engine.encoding.DeserializationContextImpl.parse(DeserializationContextImpl.java:256)
at com.ibm.ws.webservices.engine.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:698)
at com.ibm.ws.webservices.engine.Message.getSOAPEnvelope(Message.java:440)
at com.ibm.ws.webservices.engine.client.Connection.invokeEngine(Connection.java:700)
at com.ibm.ws.webservices.engine.client.Connection.invoke(Connection.java:604)
at com.ibm.ws.webservices.engine.client.Connection.invoke(Connection.java:434)
at com.ibm.ws.webservices.engine.client.Call.invoke(Call.java:1381)
at br.com.teste.cliente.Client.enviaSMS(Client.java:63)
at br.com.teste.cliente.Client.main(Client.java:72)
podem me ajudar…