📄 addressbookproxy.java
字号:
package samples.addressbook;
import java.net.*;
import java.util.*;
import org.apache.soap.*;
import org.apache.soap.encoding.*;
import org.apache.soap.rpc.*;
import org.apache.soap.util.xml.*;
import org.apache.soap.transport.*;
/**
* Proxy for the address book service described in the AddressBook.wsdl
* file found in this directory. The base proxy was generated using
* IBM's WSDL Toolkit v1.1 using the following command:
* java com.ibm.wsdl.Main -in AddressBook.wsdl \
* -package samples.addressbook2 \
* -dir ../..
* The generated proxy was hand edited to add the setSOAPTransport
* method and the generated serializer was hand edited to have the
* SOAPContext argument required by Apache SOAP v2.1 (the WSDL
* Toolkit v1.1 assumes Apache SOAP v2.0).
*
* @author Sanjiva Weerawarana <sanjiva@watson.ibm.com>
*/
public class AddressBookProxy
{
private Call call = new Call();
private URL url = null;
private String SOAPActionURI = "";
private SOAPMappingRegistry smr = call.getSOAPMappingRegistry();
public AddressBookProxy() throws MalformedURLException
{
call.setTargetObjectURI("urn:AddressFetcher_with_session");
call.setEncodingStyleURI("http://schemas.xmlsoap.org/soap/encoding/");
this.url = new URL("http://localhost:8080/soap/servlet/rpcrouter");
this.SOAPActionURI = "";
}
public synchronized void setEndPoint(URL url)
{
this.url = url;
}
public synchronized URL getEndPoint()
{
return url;
}
public synchronized void setSOAPTransport (SOAPTransport st)
{
call.setSOAPTransport (st);
}
public synchronized void addEntry(java.lang.String name,
samples.addressbook.Address address) throws SOAPException
{
if (url == null)
{
throw new SOAPException(Constants.FAULT_CODE_CLIENT,
"A URL must be specified via " +
"AddressBookProxy.setEndPoint(URL).");
}
call.setMethodName("addEntry");
Vector params = new Vector();
Parameter nameParam = new Parameter("name", java.lang.String.class, name,
null);
params.addElement(nameParam);
Parameter addressParam = new Parameter("address",
samples.addressbook.Address.class, address, null);
params.addElement(addressParam);
call.setParams(params);
Response resp = call.invoke(url, SOAPActionURI);
// Check the response.
if (resp.generatedFault())
{
Fault fault = resp.getFault();
throw new SOAPException(fault.getFaultCode(), fault.getFaultString());
}
}
public synchronized samples.addressbook.Address getAddressFromName
(java.lang.String name) throws SOAPException
{
if (url == null)
{
throw new SOAPException(Constants.FAULT_CODE_CLIENT,
"A URL must be specified via " +
"AddressBookProxy.setEndPoint(URL).");
}
call.setMethodName("getAddressFromName");
Vector params = new Vector();
Parameter nameParam = new Parameter("name", java.lang.String.class, name,
null);
params.addElement(nameParam);
call.setParams(params);
Response resp = call.invoke(url, SOAPActionURI);
// Check the response.
if (resp.generatedFault())
{
Fault fault = resp.getFault();
throw new SOAPException(fault.getFaultCode(), fault.getFaultString());
}
else
{
Parameter retValue = resp.getReturnValue();
return (samples.addressbook.Address)retValue.getValue();
}
}
{
samples.addressbook.PhoneNumberSerializer ser_0 = new
samples.addressbook.PhoneNumberSerializer ();
smr.mapTypes("http://schemas.xmlsoap.org/soap/encoding/", new QName(
"urn:xml-soap-address-demo", "phone"),
samples.addressbook.PhoneNumber.class, ser_0, ser_0);
samples.addressbook.AddressSerializer ser_1 = new
samples.addressbook.AddressSerializer ();
smr.mapTypes("http://schemas.xmlsoap.org/soap/encoding/", new QName(
"urn:xml-soap-address-demo", "address"),
samples.addressbook.Address.class, ser_1, ser_1);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -