Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.此内容没有您所选择的语言版本。
23.3. Adding a Port to a Service
Overview 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
The endpoint information for a service is defined in a
wsdl:port element, and the Service object creates a proxy instance for each of the endpoints defined in a WSDL contract, if one is specified. If you do not specify a WSDL contract when you create your Service object, the Service object has no information about the endpoints that implement your service, and therefore cannot create any proxy instances. In this case, you must provide the Service object with the information needed to represent a wsdl:port element using the addPort() method.
The addPort() method 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
The
Service class defines an addPort() method, shown in Example 23.3, “The addPort() Method”, that is used in cases where there is no WSDL contract available to the consumer implementation. The addPort() method allows you to give a Service object the information, which is typically stored in a wsdl:port element, necessary to create a proxy for a service implementation.
Example 23.3. The addPort() Method
void addPort(QName portName,
String bindingId,
String endpointAddress)
throws WebServiceException;
The value of the
portName is a QName. The value of its namespace part is the target namespace of the service. The service's target namespace is specified in the targetNamespace property of the @WebService annotation. The value of the QName's local part is the value of wsdl:port element's name attribute. You can determine this value in one of the following ways:
- Specify it in the portName property of the
@WebServiceannotation. - Append
Portto the value of the name property of the@WebServiceannotation. - Append
Portto the name of the SEI.
The value of the
bindingId parameter is a string that uniquely identifies the type of binding used by the endpoint. For a SOAP binding you use the standard SOAP namespace: http://schemas.xmlsoap.org/soap/. If the endpoint is not using a SOAP binding, the value of the bindingId parameter is determined by the binding developer.
The value of the
endpointAddress parameter is the address where the endpoint is published. For a SOAP/HTTP endpoint, the address is an HTTP address. Transports other than HTTP use different address schemes.
Example 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Example 23.4, “Adding a Port to a
Service Object” shows code for adding a port to the Service object created in Example 23.2, “Creating a Service Object”.
Example 23.4. Adding a Port to a Service Object
The code in Example 23.4, “Adding a Port to a
Service Object” does the following: