Re: BCJSSE close notify problem

Huangfu <[email protected]>
Newsgroups gmane.comp.encryption.bouncy-castle.devel
Message-ID <[email protected]>
//GoldService.java
public interface GoldService extends javax.xml.rpc.Service {
    public java.lang.String getGoldServiceHttpPortAddress();

    public bank.ws.GoldServicePortType getGoldServiceHttpPort() throws
javax.xml.rpc.ServiceException;

    public bank.ws.GoldServicePortType getGoldServiceHttpPort(java.net.URL
portAddress) throws javax.xml.rpc.ServiceException; }
//GoldServiceHttpBindingStub.java import java.security.Security;

import org.apache.axis.AxisProperties;

public class GoldServiceHttpBindingStub extends org.apache.axis.client.Stub
implements bank.ws.GoldServicePortType {
    private java.util.Vector cachedSerClasses = new java.util.Vector();
    private java.util.Vector cachedSerQNames = new java.util.Vector();
    private java.util.Vector cachedSerFactories = new java.util.Vector();
    private java.util.Vector cachedDeserFactories = new java.util.Vector();

    static org.apache.axis.description.OperationDesc [] _operations;

    static {
        _operations = new org.apache.axis.description.OperationDesc[1];
        _initOperationDesc1();
    }

    private static void _initOperationDesc1(){
        org.apache.axis.description.OperationDesc oper;
        org.apache.axis.description.ParameterDesc param;
        oper = new org.apache.axis.description.OperationDesc();
        oper.setName("informGoldValue");
        param = new org.apache.axis.description.ParameterDesc(new
javax.xml.namespace.QName("http://ws.fstop", "in0"),
org.apache.axis.description.ParameterDesc.IN, new
javax.xml.namespace.QName("http://ws.fstop", "Gold"), bank.ws.Gold.class,
false, false);
        param.setNillable(true);
        oper.addParameter(param);
        oper.setReturnType(new javax.xml.namespace.QName("http://ws.fstop",
"GoldSell"));
        oper.setReturnClass(bank.ws.GoldSell.class);
        oper.setReturnQName(new javax.xml.namespace.QName("http://ws.fstop",
"out"));
        oper.setStyle(org.apache.axis.constants.Style.WRAPPED);
        oper.setUse(org.apache.axis.constants.Use.LITERAL);
        _operations[0] = oper;

    }

    public GoldServiceHttpBindingStub() throws org.apache.axis.AxisFault {
         this(null);
    }

    public GoldServiceHttpBindingStub(java.net.URL endpointURL,
javax.xml.rpc.Service service) throws org.apache.axis.AxisFault {
         this(service);
         super.cachedEndpoint = endpointURL;
    }

    public GoldServiceHttpBindingStub(javax.xml.rpc.Service service) throws
org.apache.axis.AxisFault {
        if (service == null) {
            super.service = new org.apache.axis.client.Service();
        } else {
            super.service = service;
        }
       
((org.apache.axis.client.Service)super.service).setTypeMappingVersion("1.2");
            java.lang.Class cls;
            javax.xml.namespace.QName qName;
            javax.xml.namespace.QName qName2;
            java.lang.Class beansf =
org.apache.axis.encoding.ser.BeanSerializerFactory.class;
            java.lang.Class beandf =
org.apache.axis.encoding.ser.BeanDeserializerFactory.class;
            java.lang.Class enumsf =
org.apache.axis.encoding.ser.EnumSerializerFactory.class;
            java.lang.Class enumdf =
org.apache.axis.encoding.ser.EnumDeserializerFactory.class;
            java.lang.Class arraysf =
org.apache.axis.encoding.ser.ArraySerializerFactory.class;
            java.lang.Class arraydf =
org.apache.axis.encoding.ser.ArrayDeserializerFactory.class;
            java.lang.Class simplesf =
org.apache.axis.encoding.ser.SimpleSerializerFactory.class;
            java.lang.Class simpledf =
org.apache.axis.encoding.ser.SimpleDeserializerFactory.class;
            java.lang.Class simplelistsf =
org.apache.axis.encoding.ser.SimpleListSerializerFactory.class;
            java.lang.Class simplelistdf =
org.apache.axis.encoding.ser.SimpleListDeserializerFactory.class;
            qName = new javax.xml.namespace.QName("http://ws.fstop",
"ArrayOfGoldProduct");
            cachedSerQNames.add(qName);
            cls = bank.ws.GoldProduct[].class;
            cachedSerClasses.add(cls);
            qName = new javax.xml.namespace.QName("http://ws.fstop",
"GoldProduct");
            qName2 = new javax.xml.namespace.QName("http://ws.fstop",
"GoldProduct");
            cachedSerFactories.add(new
org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2));
            cachedDeserFactories.add(new
org.apache.axis.encoding.ser.ArrayDeserializerFactory());

            qName = new javax.xml.namespace.QName("http://ws.fstop",
"ArrayOfGoldSellProduct");
            cachedSerQNames.add(qName);
            cls = bank.ws.GoldSellProduct[].class;
            cachedSerClasses.add(cls);
            qName = new javax.xml.namespace.QName("http://ws.fstop",
"GoldSellProduct");
            qName2 = new javax.xml.namespace.QName("http://ws.fstop",
"GoldSellProduct");
            cachedSerFactories.add(new
org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2));
            cachedDeserFactories.add(new
org.apache.axis.encoding.ser.ArrayDeserializerFactory());

            qName = new javax.xml.namespace.QName("http://ws.fstop",
"Gold");
            cachedSerQNames.add(qName);
            cls = bank.ws.Gold.class;
            cachedSerClasses.add(cls);
            cachedSerFactories.add(beansf);
            cachedDeserFactories.add(beandf);

            qName = new javax.xml.namespace.QName("http://ws.fstop",
"GoldProduct");
            cachedSerQNames.add(qName);
            cls = bank.ws.GoldProduct.class;
            cachedSerClasses.add(cls);
            cachedSerFactories.add(beansf);
            cachedDeserFactories.add(beandf);

            qName = new javax.xml.namespace.QName("http://ws.fstop",
"GoldSell");
            cachedSerQNames.add(qName);
            cls = bank.ws.GoldSell.class;
            cachedSerClasses.add(cls);
            cachedSerFactories.add(beansf);
            cachedDeserFactories.add(beandf);

            qName = new javax.xml.namespace.QName("http://ws.fstop",
"GoldSellProduct");
            cachedSerQNames.add(qName);
            cls = bank.ws.GoldSellProduct.class;
            cachedSerClasses.add(cls);
            cachedSerFactories.add(beansf);
            cachedDeserFactories.add(beandf);

    }

    protected org.apache.axis.client.Call createCall() throws
java.rmi.RemoteException {
        try {
            org.apache.axis.client.Call _call = super._createCall();
            if (super.maintainSessionSet) {
                _call.setMaintainSession(super.maintainSession);
            }
            if (super.cachedUsername != null) {
                _call.setUsername(super.cachedUsername);
            }
            if (super.cachedPassword != null) {
                _call.setPassword(super.cachedPassword);
            }
            if (super.cachedEndpoint != null) {
                _call.setTargetEndpointAddress(super.cachedEndpoint);
            }
            if (super.cachedTimeout != null) {
                _call.setTimeout(super.cachedTimeout);
            }
            if (super.cachedPortName != null) {
                _call.setPortName(super.cachedPortName);
            }
            java.util.Enumeration keys = super.cachedProperties.keys();
            while (keys.hasMoreElements()) {
                java.lang.String key = (java.lang.String)
keys.nextElement();
                _call.setProperty(key, super.cachedProperties.get(key));
            }
            // All the type mapping information is registered
            // when the first call is made.
            // The type mapping information is actually registered in
            // the TypeMappingRegistry of the service, which
            // is the reason why registration is only needed for the first
call.
            synchronized (this) {
                if (firstCall()) {
                    // must set encoding style before registering
serializers
                    _call.setEncodingStyle(null);
                    for (int i = 0; i < cachedSerFactories.size(); ++i) {
                        java.lang.Class cls = (java.lang.Class)
cachedSerClasses.get(i);
                        javax.xml.namespace.QName qName =
                                (javax.xml.namespace.QName)
cachedSerQNames.get(i);
                        java.lang.Object x = cachedSerFactories.get(i);
                        if (x instanceof Class) {
                            java.lang.Class sf = (java.lang.Class)
                                 cachedSerFactories.get(i);
                            java.lang.Class df = (java.lang.Class)
                                 cachedDeserFactories.get(i);
                            _call.registerTypeMapping(cls, qName, sf, df,
false);
                        }
                        else if (x instanceof
javax.xml.rpc.encoding.SerializerFactory) {
                            org.apache.axis.encoding.SerializerFactory sf =
(org.apache.axis.encoding.SerializerFactory)
                                 cachedSerFactories.get(i);
                            org.apache.axis.encoding.DeserializerFactory df
= (org.apache.axis.encoding.DeserializerFactory)
                                 cachedDeserFactories.get(i);
                            _call.registerTypeMapping(cls, qName, sf, df,
false);
                        }
                    }
                }
            }
            return _call;
        }
        catch (java.lang.Throwable _t) {
            throw new org.apache.axis.AxisFault("Failure trying to get the
Call object", _t);
        }
    }

    public bank.ws.GoldSell informGoldValue(bank.ws.Gold in0) throws
java.rmi.RemoteException {
        if (super.cachedEndpoint == null) {
            throw new org.apache.axis.NoEndPointException();
        }
        org.apache.axis.client.Call _call = createCall();
        _call.setOperation(_operations[0]);
        _call.setUseSOAPAction(true);
        _call.setSOAPActionURI("");
        _call.setEncodingStyle(null);
        _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR,
Boolean.FALSE);
        _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS,
Boolean.FALSE);
       
_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
        _call.setOperationName(new
javax.xml.namespace.QName("http://ws.fstop", "informGoldValue"));

        setRequestHeaders(_call);
        setAttachments(_call);
   
   
 try {        java.lang.Object _resp = _call.invoke(new java.lang.Object[]
{in0});

        if (_resp instanceof java.rmi.RemoteException) {
            throw (java.rmi.RemoteException)_resp;
        }
        else {
            extractAttachments(_call);
            try {
                return (bank.ws.GoldSell) _resp;
            } catch (java.lang.Exception _exception) {
                return (bank.ws.GoldSell)
org.apache.axis.utils.JavaUtils.convert(_resp, bank.ws.GoldSell.class);
            }
        }
  } catch (org.apache.axis.AxisFault axisFaultException) {
  throw axisFaultException;
}
    }

}
//GoldServiceLocator.java
import javax.activation.DataHandler;
import javax.mail.internet.MimeMultipart;
import java.sql.*;
import java.io.*;
import java.util.*;
import java.util.Date;
import javax.naming.*;
import java.util.Properties;
import java.text.*;
import javax.sql.*;
import userstar.*;


public class GoldServiceLocator extends org.apache.axis.client.Service
implements bank.ws.GoldService {

    public GoldServiceLocator() {
    }
    
    private Connection conn=null;
	private Statement Stmt=null;
	



    public GoldServiceLocator(org.apache.axis.EngineConfiguration config) {
        super(config);
    }

    public GoldServiceLocator(java.lang.String wsdlLoc,
javax.xml.namespace.QName sName) throws javax.xml.rpc.ServiceException {
        super(wsdlLoc, sName);
    }
    
    public  String getPortAddress ()
    {
      String sql = "select * from tai_user where tai_user='008' ";
      String address="";
      try {
		Stmt = ConnBeanS.getStatement();
		ResultSet rs=Stmt.executeQuery(sql);
		if(rs.first())
		{
		  address = rs.getString("url");
		}
		ConnBeanS.setStatementClose(Stmt);
		
	} catch (Exception e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	  return address ;
      
    }

    // Use to get a proxy class for GoldServiceHttpPort 210.61.159.98 test
196
    // test http://210.65.217.178:5555  //210.65.217.177:443
//epgw.hncb.com.tw
  private java.lang.String GoldServiceHttpPort_address = " 
http://118.163.137.170/GoldService/GoldService.asmx";

    public java.lang.String getGoldServiceHttpPortAddress() {
    	//GoldServiceHttpPort_address=getPortAddress ();
    	return GoldServiceHttpPort_address;
    }

    // The WSDD service name defaults to the port name.
    private java.lang.String GoldServiceHttpPortWSDDServiceName =
"GoldServiceHttpPort";

    public java.lang.String getGoldServiceHttpPortWSDDServiceName() {
        return GoldServiceHttpPortWSDDServiceName;
    }

    public void setGoldServiceHttpPortWSDDServiceName(java.lang.String name)
{
        GoldServiceHttpPortWSDDServiceName = name;
    }

    public bank.ws.GoldServicePortType getGoldServiceHttpPort() throws
javax.xml.rpc.ServiceException {
       java.net.URL endpoint;
        try {
            endpoint = new java.net.URL(GoldServiceHttpPort_address);
        }
        catch (java.net.MalformedURLException e) {
            throw new javax.xml.rpc.ServiceException(e);
        }
        return getGoldServiceHttpPort(endpoint);
    }

    public bank.ws.GoldServicePortType getGoldServiceHttpPort(java.net.URL
portAddress) throws javax.xml.rpc.ServiceException {
        try {
            bank.ws.GoldServiceHttpBindingStub _stub = new
bank.ws.GoldServiceHttpBindingStub(portAddress, this);
            _stub.setPortName(getGoldServiceHttpPortWSDDServiceName());
            return _stub;
        }
        catch (org.apache.axis.AxisFault e) {
            return null;
        }
    }

    public void setGoldServiceHttpPortEndpointAddress(java.lang.String
address) {
        GoldServiceHttpPort_address = address;
    }

    /**
     * For the given interface, get the stub implementation.
     * If this service has no port for the given interface,
     * then ServiceException is thrown.
     */
    public java.rmi.Remote getPort(Class serviceEndpointInterface) throws
javax.xml.rpc.ServiceException {
        try {
            if
(bank.ws.GoldServicePortType.class.isAssignableFrom(serviceEndpointInterface))
{
                bank.ws.GoldServiceHttpBindingStub _stub = new
bank.ws.GoldServiceHttpBindingStub(new
java.net.URL(GoldServiceHttpPort_address), this);
                _stub.setPortName(getGoldServiceHttpPortWSDDServiceName());
                return _stub;
            }
        }
        catch (java.lang.Throwable t) {
            throw new javax.xml.rpc.ServiceException(t);
        }
        throw new javax.xml.rpc.ServiceException("There is no stub
implementation for the interface:  " + (serviceEndpointInterface == null ?
"null" : serviceEndpointInterface.getName()));
    }

    /**
     * For the given interface, get the stub implementation.
     * If this service has no port for the given interface,
     * then ServiceException is thrown.
     */
    public java.rmi.Remote getPort(javax.xml.namespace.QName portName, Class
serviceEndpointInterface) throws javax.xml.rpc.ServiceException {
        if (portName == null) {
            return getPort(serviceEndpointInterface);
        }
        java.lang.String inputPortName = portName.getLocalPart();
        if ("GoldServiceHttpPort".equals(inputPortName)) {
            return getGoldServiceHttpPort();
        }
        else  {
            java.rmi.Remote _stub = getPort(serviceEndpointInterface);
            ((org.apache.axis.client.Stub) _stub).setPortName(portName);
            return _stub;
        }
    }

    public javax.xml.namespace.QName getServiceName() {
        return new javax.xml.namespace.QName("http://ws.fstop",
"GoldService");
    }

    private java.util.HashSet ports = null;

    public java.util.Iterator getPorts() {
        if (ports == null) {
            ports = new java.util.HashSet();
            ports.add(new javax.xml.namespace.QName("http://ws.fstop",
"GoldServiceHttpPort"));
        }
        return ports.iterator();
    }

    /**
    * Set the endpoint address for the specified port name.
    */
    public void setEndpointAddress(java.lang.String portName,
java.lang.String address) throws javax.xml.rpc.ServiceException {
        
if ("GoldServiceHttpPort".equals(portName)) {
            setGoldServiceHttpPortEndpointAddress(address);
        }
        else
{ // Unknown Port Name
            throw new javax.xml.rpc.ServiceException(" Cannot set Endpoint
Address for Unknown Port" + portName);
        }
    }

    /**
    * Set the endpoint address for the specified port name.
    */
    public void setEndpointAddress(javax.xml.namespace.QName portName,
java.lang.String address) throws javax.xml.rpc.ServiceException {
        setEndpointAddress(portName.getLocalPart(), address);
    }

}
//GoldServicePortType.java
public interface GoldServicePortType extends java.rmi.Remote {
    public bank.ws.GoldSell informGoldValue(bank.ws.Gold in0) throws
java.rmi.RemoteException; } //GoldServicePortTypeProxy.java import
java.sql.ResultSet; import java.sql.Statement;

import org.apache.axis.EngineConfiguration;
import org.apache.axis.configuration.FileProvider;

import userstar.ConnBeanS;

public class GoldServicePortTypeProxy implements bank.ws.GoldServicePortType
{
  private String _endpoint = null;
  private bank.ws.GoldServicePortType goldServicePortType = null;
  
  public GoldServicePortTypeProxy() {
    _initGoldServicePortTypeProxy();
  }
  
  public GoldServicePortTypeProxy(String endpoint) {
    _endpoint = endpoint;
    _initGoldServicePortTypeProxy();
  }
  private Statement  Stmt=null;
  public  String getPortFile ()
  {
    String sql = "select * from tai_user where tai_user='008' ";
    String address="";
    try {
		Stmt = ConnBeanS.getStatement();
		ResultSet rs=Stmt.executeQuery(sql);
		if(rs.first())
		{
		  address = rs.getString("file_dir");
		}
		ConnBeanS.setStatementClose(Stmt);
		
	} catch (Exception e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
		
	}
	  return address ;
    
  }
  
  private void _initGoldServicePortTypeProxy() {
    try {
    	String file_dir = getPortFile ();
    	EngineConfiguration config = new FileProvider(file_dir);
    	
       //EngineConfiguration config = new
FileProvider("D:\\1212\\webservice\\web_client\\src\\fstop\\ws\\wsclient_deploy.wsdd");
      goldServicePortType = (new
bank.ws.GoldServiceLocator(config)).getGoldServiceHttpPort();
      if (goldServicePortType != null) {
        if (_endpoint != null)
         
((javax.xml.rpc.Stub)goldServicePortType)._setProperty("javax.xml.rpc.service.endpoint.address",
_endpoint);
        else
          _endpoint =
(String)((javax.xml.rpc.Stub)goldServicePortType)._getProperty("javax.xml.rpc.service.endpoint.address");
      }
      
    }
    catch (javax.xml.rpc.ServiceException serviceException) {}
  }
  
  public String getEndpoint() {
    return _endpoint;
  }
  
  public void setEndpoint(String endpoint) {
    _endpoint = endpoint;
    if (goldServicePortType != null)
     
((javax.xml.rpc.Stub)goldServicePortType)._setProperty("javax.xml.rpc.service.endpoint.address",
_endpoint);
    
  }
  
  public bank.ws.GoldServicePortType getGoldServicePortType() {
    if (goldServicePortType == null)
      _initGoldServicePortTypeProxy();
    return goldServicePortType;
  }
  
  public bank.ws.GoldSell informGoldValue(bank.ws.Gold in0) throws
java.rmi.RemoteException{
    if (goldServicePortType == null)
      _initGoldServicePortTypeProxy();
    return goldServicePortType.informGoldValue(in0);
  }
  
  
}
//PWCallback.java

import java.io.IOException;

import javax.security.auth.callback.Callback;

import javax.security.auth.callback.CallbackHandler;

import javax.security.auth.callback.UnsupportedCallbackException;

import org.apache.ws.security.WSPasswordCallback;

import java.sql.*;
import java.io.*;
import java.util.*;
import java.util.Date;
import javax.naming.*;
import java.util.Properties;
import java.text.*;
import javax.sql.*;
import userstar.*;



/**

 * PWCallback for the Client

 */

public class PWCallback implements CallbackHandler {



    /**

     * @see
javax.security.auth.callback.CallbackHandler#handle(javax.security.auth.callback.Callback[])

     */
	private Connection conn=null;
	private Statement  Stmt=null;
	

	

    public void handle(Callback[] callbacks) throws IOException,

                    UnsupportedCallbackException {
    	
    	String sql="select * from tai_user where tai_user='008'";
    	String pwd="";
    	String user="";
    	try {
    		Stmt = ConnBeanS.getStatement();
    		
    		ResultSet rs=Stmt.executeQuery(sql);
    		if(rs.first())
    		{
    			pwd = rs.getString("password");
    			user = rs.getString("user_name");
    		}
    		
    		ConnBeanS.setStatementClose(Stmt);
    	}
    	catch(Exception e) {
    		 e.printStackTrace();
    	}

        for (int i = 0; i < callbacks.length; i++) {

            if (callbacks[i] instanceof WSPasswordCallback) {

                WSPasswordCallback pc = (WSPasswordCallback)callbacks[i];

                // set the password given a username

                if (user.equals(pc.getIdentifier())) {

                    pc.setPassword(pwd);

                }

            } else {

                throw new UnsupportedCallbackException(callbacks[i],
"Unrecognized Callback");

            }

        }

    }

}
//client_deploy.wsdd
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">

 <transport name="http"
pivot="java:org.apache.axis.transport.http.HTTPSender"/>

  <globalConfiguration >

   <requestFlow >

    <handler type="java:org.apache.ws.axis.security.WSDoAllSender" >

     <parameter name="action" value="UsernameToken"/>

     <parameter name="user" value="tom"/>

     <parameter name="passwordCallbackClass" value="bank.ws.PWCallback"/>

     <parameter name="passwordType" value="PasswordDigest"/>

    </handler>

   </requestFlow >

  </globalConfiguration >

</deployment>
//wsdl
<wsdl:definitions xmlns:soapenc12="http://www.w3.org/2003/05/soap-encoding"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://ws.fstop"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:soapenc11="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"
targetNamespace="http://ws.fstop">
<wsdl:types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
attributeFormDefault="qualified" elementFormDefault="qualified"
targetNamespace="http://ws.fstop">
<xsd:complexType name="Gold">
<xsd:all>
<xsd:element minOccurs="0" name="date" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="kind" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="curcd" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="cnt" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="time" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="goldProduct" nillable="true"
type="tns:ArrayOfGoldProduct"/> </xsd:all> </xsd:complexType>
<xsd:complexType name="ArrayOfGoldProduct"> <xsd:sequence> <xsd:element
maxOccurs="unbounded" minOccurs="0" name="GoldProduct" nillable="true"
type="tns:GoldProduct"/> </xsd:sequence> </xsd:complexType> <xsd:complexType
name="GoldProduct"> <xsd:all> <xsd:element minOccurs="0" name="currec"
nillable="true" type="xsd:string"/> <xsd:element minOccurs="0" name="totrec"
nillable="true" type="xsd:string"/> <xsd:element minOccurs="0" name="goodno"
nillable="true" type="xsd:string"/> <xsd:element minOccurs="0" name="sell"
nillable="true" type="xsd:string"/> <xsd:element minOccurs="0" name="sellt"
nillable="true" type="xsd:string"/> <xsd:element minOccurs="0" name="buy"
nillable="true" type="xsd:string"/> <xsd:element minOccurs="0" name="dpdiff"
nillable="true" type="xsd:string"/> </xsd:all> </xsd:complexType>
<xsd:element name="informGoldValue"> <xsd:complexType> <xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="1" name="in0" nillable="true"
type="tns:Gold"/> </xsd:sequence> </xsd:complexType> </xsd:element>
<xsd:complexType name="GoldSell"> <xsd:sequence> <xsd:element minOccurs="0"
name="msg_cod" nillable="true" type="xsd:string"/> <xsd:element
minOccurs="0" name="msg_desc" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="date" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="time" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="bank_no" nillable="true"
type="xsd:string"/> <xsd:element minOccurs="0" name="curcd" nillable="true"
type="xsd:string"/> <xsd:element minOccurs="0" name="goldSellProduct"
nillable="true" type="tns:ArrayOfGoldSellProduct"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ArrayOfGoldSellProduct"> <xsd:sequence> <xsd:element
maxOccurs="unbounded" minOccurs="0" name="GoldSellProduct" nillable="true"
type="tns:GoldSellProduct"/> </xsd:sequence> </xsd:complexType>
<xsd:complexType name="GoldSellProduct"> <xsd:sequence> <xsd:element
minOccurs="0" name="sale_kind" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="goodno" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="unit_price" nillable="true"
type="xsd:string"/> <xsd:element minOccurs="0" name="sale_amt"
nillable="true" type="xsd:string"/> <xsd:element minOccurs="0"
name="tax_amt" nillable="true" type="xsd:string"/> <xsd:element
minOccurs="0" name="discount_amt" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="sale_q" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="sale_oz" nillable="true"
type="xsd:string"/> <xsd:element minOccurs="0" name="take_q" nillable="true"
type="xsd:string"/> <xsd:element minOccurs="0" name="unit_price_g"
nillable="true" type="xsd:string"/> <xsd:element minOccurs="0" name="dpdiff"
nillable="true" type="xsd:string"/> </xsd:sequence> </xsd:complexType>
<xsd:element name="informGoldValueResponse"> <xsd:complexType>
<xsd:sequence> <xsd:element maxOccurs="1" minOccurs="1"
name="informGoldValueResult" nillable="true" type="tns:GoldSell"/>
</xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema>
</wsdl:types> <wsdl:message name="informGoldValueResponse"> <wsdl:part
name="parameters" element="tns:informGoldValueResponse"></wsdl:part>
</wsdl:message>
<wsdl:message name="informGoldValueRequest"> <wsdl:part name="parameters"
element="tns:informGoldValue"></wsdl:part>
</wsdl:message>
<wsdl:portType name="GoldServicePortType"> <wsdl:operation
name="informGoldValue"> <wsdl:input name="informGoldValueRequest"
message="tns:informGoldValueRequest"></wsdl:input>
<wsdl:output name="informGoldValueResponse"
message="tns:informGoldValueResponse"></wsdl:output>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="GoldServiceHttpBinding" type="tns:GoldServicePortType">
<wsdlsoap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="informGoldValue">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="informGoldValueRequest"> <wsdlsoap:body use="literal"/>
</wsdl:input> <wsdl:output name="informGoldValueResponse"> <wsdlsoap:body
use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding>
<wsdl:service name="GoldService"> <wsdl:port name="GoldServiceHttpPort"
binding="tns:GoldServiceHttpBinding">
<wsdlsoap:address
location="http://localhost/services/GoldService.GoldServiceHttpPort/"/>
</wsdl:port>
<wsdl:port name="GoldServiceHttpsPort" binding="tns:GoldServiceHttpBinding">
<wsdlsoap:address
location="https://localhost/services/GoldService.GoldServiceHttpsPort/"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

//

all code ,but I must use to add BSJSSE code in these code   thank

Best Regards 
Hwangfu




--
Sent from: http://bouncy-castle.1462172.n4.nabble.com/Bouncy-Castle-Dev-f1462173.html
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.