Use wscompile to set properties in generated client.
It seems to me that there should be an easy way to set properties in generated code.
My client code generates properly, for instance:
try {
stub._initialize(super.internalTypeRegistry);
} catch (JAXRPCException e) {
throw e;
} catch (Exception e) {
throw new JAXRPCException(e.getMessage(), e);
} However, at this point, I am now having to insert the properties for user/pass (basic authentication) by hand.
try {
stub._initialize(super.internalTypeRegistry);
stub._setProperty(javax.xml.rpc.Stub.USERNAME_PROPERTY,"any user");
stub._setProperty(javax.xml.rpc.Stub.PASSWORD_PROPERTY,"any password");
} catch (JAXRPCException e) {
throw e;
} catch (Exception e) {
throw new JAXRPCException(e.getMessage(), e);
}Simple enough.
Has anyone done this automatically, using wscompile? Manually changing generated code just seems like bad form to me.
Thanks,
DaShaun
Ok, don't do what I tried to do. Very bad form, my apologies. Instead of adding the authentication code to the generated classes, I should have been adding it to my client code.
Each client then needs to authenticate itself. My approach would have allowed any client to use the code and be authenticated as 'any user'. This is not good.
DaShaun
Similar Messages
-
JAX-WS: How to set headers on generated client?
Hello
Im trying to build a client to consume the web service defined here: http://my.hot-sos.net/HTNGListener/HTNGListener.asmx?WSDL
I've use the wsimport tool to generate the classes and one of the services (ping) works fine.
The other servcies, however, are giving me this error:
javax.xml.ws.soap.SOAPFaultException: Server was unable to process request. ---> No HTNG Header found in Soap Header
at com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(Unknown Source)
at com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(Unknown Source)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(Unknown Source)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(Unknown Source)
at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(Unknown Source)
at $Proxy30.receiveMessageSync(Unknown Source)
at com.pogo.test.HelloWorldClient.main(HelloWorldClient.java:29)I think the problem is that the service expects a header. The generated code has a HTNGHeader factory but I cant find a method where to add this header to the request.
<wsdl:operation name="ReceiveMessageSync">
<soap12:operation soapAction="http://htng.org/1.1/Listener.Wsdl#ReceiveMessageSync" style="document" soapActionRequired="true" />
<wsdl:input>
<soap12:body use="literal" />
<soap12:header message="tns:ReceiveMessageSyncHTNGHeader" part="HTNGHeader" use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
<soap12:header message="tns:ReceiveMessageSyncHTNGHeader" part="HTNGHeader" use="literal" />
</wsdl:output>
</wsdl:operation>This is how Im trying to invoke:
HTNGListener listener = new HTNGListener();
HTNGListenerSoap stub = listener.getHTNGListenerSoap();
stub.ping();
org.htng._1_1.header.ObjectFactory headerOF = new org.htng._1_1.header.ObjectFactory();
HTNGHeader header = headerOF.createHTNGHeader();
header.setTimeStamp(DatatypeFactory.newInstance().newXMLGregorianCalendar() );
//I've created the header, but dont know how to set it.
String request = "<GetMessages/>";
System.out.println(stub.receiveMessageSync(request));Any advise is more than welcome.
Thanks
GonsoHow are you even getting the WSDL to parse? I get:
parsing WSDL...
[ERROR] Non unique body parts! In a port, operations must have unique operation signaure on the wire for successful dispatch. In port HTNGListenerSoap, Operations "ReceiveMessageAsync" and "ReceiveMessageSync" have the same request body block {http://htng.org/1.1/Listener.Wsdl}Request
line 150 of http://my.hot-sos.net/HTNGListener/HTNGListener.asmx?WSDL -
Coding Multiple TDMS Set Properties Efficientl​y
I am trying to save some test settings as TDMS properties. I have figured out the mechanics of saving individual properties to the file, but I have 25 or so properties to write to the file. What is the most efficient way to code this in LV, so that I don't have to use the "TDMS Set Properties" block 25 different times? I have tried sending the block arrays, but it doesn't like that. Is there some kind of loop I can use?
Steve
Solved!
Go to Solution.Another idea is this:
Ton
Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
Nederlandse LabVIEW user groep www.lvug.nl
My LabVIEW Ideas
LabVIEW, programming like it should be! -
Hi.
I am currently developing an application which writes some data into a TDMS file.
I have used the TDMS Set Properties VI to add some special properties as meta data.
Basically it works, but only once. Now I would like to know why: The error message is:
"LabVIEW: An input parameter is invalid. For example if the input is a path, the path might contain a character not allowed by the OS such as ? or @. "
I attached two files. One of them works (the one where only a single Set Properties VI is actually used), the other doesn't - it returns the error above.
Why is that so?
Attachments:
works.jpg 85 KB
doesntwork.jpg 87 KBHi Wolfgang
I am sorry that I can't provide any VIs, because I stopped working for the company (this was just some bonus project to do something). I don't have the VIs here, I also do not have 8.2 here, so I can't build a sample application anymore.
As soon as I connected the second wire to MF (or LF, it didn't matter), the VI gave me an error (I don't remember the error code, sorry) directly after the VI where I connected. If only one
was connected, everything worked fine. -
Compilation failed while generating stub classes using wscompile
I am new to Web Services. I am trying to generate client stub classes from WSDL (provided by Seapine's with TestTarckPro Software), using wscompile. I am using JWSDP 1.6
====================================================================================
Here's the wscompile command,
wscompile -gen:client -d classes2 -keep -s classes2 -verbose config.xml
=========================================================================
Here's config.xml file
<configuration xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config">
<wsdl
location="./ttsoapcgi.wsdl"
packageName="testtrack_interface"/>
</configuration>
=====================================================================================
I am getting following compilation errors during stub generation. Following is the compilation error part of wscompile result output
[SOAPObjectBuilderGenerator: writing object builder for: saveLink]
[SerializerRegistryGenerator: creating serializer registry: testtrack_interface.Ttsoapcgi_SerializerRegistry]
D:\TestTrackApi\classes2\testtrack_interface\CSCCFileRecord.java:10: ';' expected
protected java.lang.String m-strFileName;
^
D:\TestTrackApi\classes2\testtrack_interface\CSCCFileRecord.java:11: ';' expected
protected java.lang.String m-strFixedRevision;
^
D:\TestTrackApi\classes2\testtrack_interface\CSCCFileRecord.java:12: ';' expected
protected java.util.Calendar m-dateFixedTimestamp;
^
D:\TestTrackApi\classes2\testtrack_interface\CSCCFileRecord.java:17: ')' expected
public CSCCFileRecord(long recordid, java.lang.String m-strFileName, java.lang.String m-strFixedRevision, java.util.
Calendar m-dateFixedTimestamp) {
^
D:\TestTrackApi\classes2\testtrack_interface\CSCCFileRecord.java:47: ';' expected
^
D:\TestTrackApi\classes2\testtrack_interface\CSCCFileRecord_SOAPSerializer.java:29: ';' expected
private static final int myM-STRFILENAME_INDEX = 1;
^
D:\TestTrackApi\classes2\testtrack_interface\CSCCFileRecord_SOAPSerializer.java:30: ';' expected
private static final int myM-STRFIXEDREVISION_INDEX = 2;
^
D:\TestTrackApi\classes2\testtrack_interface\CSCCFileRecord_SOAPSerializer.java:31: ';' expected
private static final int myM-DATEFIXEDTIMESTAMP_INDEX = 3;
^
D:\TestTrackApi\classes2\testtrack_interface\CSCCFileRecord_SOAPSerializer.java:71: not a statement
instance.setM-strFileName((java.lang.String)member);
^
D:\TestTrackApi\classes2\testtrack_interface\CSCCFileRecord_SOAPSerializer.java:87: not a statement
instance.setM-strFixedRevision((java.lang.String)member);
^
D:\TestTrackApi\classes2\testtrack_interface\CSCCFileRecord_SOAPSerializer.java:96: not a statement
instance.setM-dateFixedTimestamp((java.util.Calendar)member);
^
D:\TestTrackApi\classes2\testtrack_interface\CSCCFileRecord_SOAPBuilder.java:18: ';' expected
private static final int myM-STRFILENAME_INDEX = 1;
^
D:\TestTrackApi\classes2\testtrack_interface\CSCCFileRecord_SOAPBuilder.java:19: ';' expected
private static final int myM-STRFIXEDREVISION_INDEX = 2;
^
D:\TestTrackApi\classes2\testtrack_interface\CSCCFileRecord_SOAPBuilder.java:20: ';' expected
private static final int myM-DATEFIXEDTIMESTAMP_INDEX = 3;
^
D:\TestTrackApi\classes2\testtrack_interface\CSCCFileRecord_SOAPBuilder.java:29: '(' expected
public void setM-strFileName(java.lang.String mStrFileName) {
^
15 errors
error: compilation failed, errors should have been reported
==============================================================================
My understanding is, while generating stubs, dashes or hyphens in variable names m-strFileName, m-strFixedRevision, m-dateFixedTimestamp are interpreted as minus sign and hence compilation is failing.
I tried stub generation from same WSDL with Apache Axis and it's working fine. But stub generation is failing with JWSDP. Is this a problem with this WSDL file ? Am I missing something while using wscomplie command ?
Please advise.
Thanks
Here's ttsoapcgi.wsdl file
==================================================================
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="ttsoapcgi"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:SOAP="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:WSDL="http://schemas.xmlsoap.org/wsdl/"
targetNamespace="urn:testtrack-interface"
xmlns:tns="urn:testtrack-interface"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ttns="urn:testtrack-interface">
<types>
<schema targetNamespace="urn:testtrack-interface"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ttns="urn:testtrack-interface"
xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="unqualified"
attributeFormDefault="unqualified">
<element name="CDatabase" type="ttns:CDatabase"/>
<complexType name="CDatabase">
<sequence>
<element name="name" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
</sequence>
</complexType>
<complexType name="ArrayOfCDatabase">
<complexContent>
<restriction base="SOAP-ENC:Array">
<sequence>
<element name="item" type="ttns:CDatabase" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute ref="SOAP-ENC:arrayType" WSDL:arrayType="ttns:CDatabase[]"/>
</restriction>
</complexContent>
</complexType>
<element name="CDatabaseTable" type="ttns:CDatabaseTable"/>
<complexType name="CDatabaseTable">
<sequence>
<element name="name" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
</sequence>
</complexType>
<complexType name="ArrayOfCDatabaseTable">
<complexContent>
<restriction base="SOAP-ENC:Array">
<sequence>
<element name="item" type="ttns:CDatabaseTable" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute ref="SOAP-ENC:arrayType" WSDL:arrayType="ttns:CDatabaseTable[]"/>
</restriction>
</complexContent>
</complexType>
<element name="CTableField" type="ttns:CTableField"/>
<complexType name="CTableField">
<sequence>
<element name="name" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
</sequence>
</complexType>
<complexType name="ArrayOfCTableField">
<complexContent>
<restriction base="SOAP-ENC:Array">
<sequence>
<element name="item" type="ttns:CTableField" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute ref="SOAP-ENC:arrayType" WSDL:arrayType="ttns:CTableField[]"/>
</restriction>
</complexContent>
</complexType>
<element name="CFieldValue" type="ttns:CFieldValue"/>
<complexType name="CFieldValue">
<sequence>
<element name="value" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
</sequence>
</complexType>
<complexType name="ArrayOfCFieldValue">
<complexContent>
<restriction base="SOAP-ENC:Array">
<sequence>
<element name="item" type="ttns:CFieldValue" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute ref="SOAP-ENC:arrayType" WSDL:arrayType="ttns:CFieldValue[]"/>
</restriction>
</complexContent>
</complexType>
<element name="CTableColumn" type="ttns:CTableColumn"/>
<complexType name="CTableColumn">
<sequence>
<element name="name" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
</sequence>
</complexType>
<complexType name="ArrayOfCTableColumn">
<complexContent>
<restriction base="SOAP-ENC:Array">
<sequence>
<element name="item" type="ttns:CTableColumn" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute ref="SOAP-ENC:arrayType" WSDL:arrayType="ttns:CTableColumn[]"/>
</restriction>
</complexContent>
</complexType>
<element name="CFilter" type="ttns:CFilter"/>
<complexType name="CFilter">
<sequence>
<element name="name" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
</sequence>
</complexType>
<complexType name="ArrayOfCFilter">
<complexContent>
<restriction base="SOAP-ENC:Array">
<sequence>
<element name="item" type="ttns:CFilter" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute ref="SOAP-ENC:arrayType" WSDL:arrayType="ttns:CFilter[]"/>
</restriction>
</complexContent>
</complexType>
<element name="CRecordData" type="ttns:CRecordData"/>
<complexType name="CRecordData">
<sequence>
<element name="value" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
</sequence>
</complexType>
<complexType name="ArrayOfCRecordData">
<complexContent>
<restriction base="SOAP-ENC:Array">
<sequence>
<element name="item" type="ttns:CRecordData" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute ref="SOAP-ENC:arrayType" WSDL:arrayType="ttns:CRecordData[]"/>
</restriction>
</complexContent>
</complexType>
<element name="CRecordRowSoap" type="ttns:CRecordRowSoap"/>
<complexType name="CRecordRowSoap">
<sequence>
<element name="row" type="ttns:ArrayOfCRecordData" minOccurs="1" maxOccurs="1" nillable="true"/>
</sequence>
</complexType>
<complexType name="ArrayOfCRecordRowSoap">
<complexContent>
<restriction base="SOAP-ENC:Array">
<sequence>
<element name="item" type="ttns:CRecordRowSoap" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute ref="SOAP-ENC:arrayType" WSDL:arrayType="ttns:CRecordRowSoap[]"/>
</restriction>
</complexContent>
</complexType>
<element name="CRecordListSoap" type="ttns:CRecordListSoap"/>
<complexType name="CRecordListSoap">
<sequence>
<element name="columnlist" type="ttns:ArrayOfCTableColumn" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="records" type="ttns:ArrayOfCRecordRowSoap" minOccurs="1" maxOccurs="1" nillable="true"/>
</sequence>
</complexType>
<element name="CItemWithDBRecordId" type="ttns:CItemWithDBRecordId"/>
<complexType name="CItemWithDBRecordId">
<sequence>
<element name="recordid" type="xsd:long" minOccurs="1" maxOccurs="1"/>
</sequence>
</complexType>
<element name="CItemToTrack" type="ttns:CItemToTrack"/>
<complexType name="CItemToTrack">
<complexContent>
<extension base="ttns:CItemWithDBRecordId">
<sequence>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="COrderedItemWithDBRecordId" type="ttns:COrderedItemWithDBRecordId"/>
<complexType name="COrderedItemWithDBRecordId">
<complexContent>
<extension base="ttns:CItemWithDBRecordId">
<sequence>
<element name="order" type="xsd:long" minOccurs="1" maxOccurs="1"/>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="CSystemBase" type="ttns:CSystemBase"/>
<complexType name="CSystemBase">
<complexContent>
<extension base="ttns:CItemToTrack">
<sequence>
<element name="systemname" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="CSystem" type="ttns:CSystem"/>
<complexType name="CSystem">
<complexContent>
<extension base="ttns:CSystemBase">
<sequence>
<element name="location" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="computermodel" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="computerbrand" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="cputype" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="cpuspeed" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="harddisktype" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="harddisksize" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="ramsize" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="romsize" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="osname" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="osversion" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="videoname" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="hascdrom" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
<element name="cdrommodel" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="hasscanner" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
<element name="scannermodel" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="hasmodem" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
<element name="modemmodel" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="hasprinter" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
<element name="printermodel" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="otherhardware" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="hasmultiplemonitors" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="CSCCFileRecord" type="ttns:CSCCFileRecord"/>
<complexType name="CSCCFileRecord">
<complexContent>
<extension base="ttns:CItemWithDBRecordId">
<sequence>
<element name="m-strFileName" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="m-strFixedRevision" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="m-dateFixedTimestamp" type="xsd:dateTime" minOccurs="1" maxOccurs="1" nillable="true"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="ArrayOfCSCCFileRecord">
<complexContent>
<restriction base="SOAP-ENC:Array">
<sequence>
<element name="item" type="ttns:CSCCFileRecord" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute ref="SOAP-ENC:arrayType" WSDL:arrayType="ttns:CSCCFileRecord[]"/>
</restriction>
</complexContent>
</complexType>
<element name="CFileAttachment" type="ttns:CFileAttachment"/>
<complexType name="CFileAttachment">
<sequence>
<element name="m-pFileData" type="xsd:base64Binary" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="m-strFileName" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="m-strArchiveName" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
</sequence>
</complexType>
<complexType name="ArrayOfCFileAttachment">
<complexContent>
<restriction base="SOAP-ENC:Array">
<sequence>
<element name="item" type="ttns:CFileAttachment" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute ref="SOAP-ENC:arrayType" WSDL:arrayType="ttns:CFileAttachment[]"/>
</restriction>
</complexContent>
</complexType>
<element name="CReportedByRecord" type="ttns:CReportedByRecord"/>
<complexType name="CReportedByRecord">
<complexContent>
<extension base="ttns:CItemWithDBRecordId">
<sequence>
<element name="foundby" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="datefound" type="xsd:date" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="contactinfo" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="foundinversion" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="comments" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="reproduced" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="reproducedsteps" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="standardtestconfig" type="ttns:CSystem" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="otherhardwaresoftware" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="testconfigtype" type="xsd:short" minOccurs="1" maxOccurs="1"/>
<element name="attachmentlist" type="ttns:ArrayOfCFileAttachment" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="showorder" type="xsd:short" minOccurs="1" maxOccurs="1"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="ArrayOfCReportedByRecord">
<complexContent>
<restriction base="SOAP-ENC:Array">
<sequence>
<element name="item" type="ttns:CReportedByRecord" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute ref="SOAP-ENC:arrayType" WSDL:arrayType="ttns:CReportedByRecord[]"/>
</restriction>
</complexContent>
</complexType>
<element name="CField" type="ttns:CField"/>
<complexType name="CField">
<complexContent>
<extension base="ttns:CItemWithDBRecordId">
<sequence>
<element name="name" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="CStringField" type="ttns:CStringField"/>
<complexType name="CStringField">
<complexContent>
<extension base="ttns:CField">
<sequence>
<element name="value" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="CIntegerField" type="ttns:CIntegerField"/>
<complexType name="CIntegerField">
<complexContent>
<extension base="ttns:CField">
<sequence>
<element name="value" type="xsd:int" minOccurs="1" maxOccurs="1"/>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="CDecimalField" type="ttns:CDecimalField"/>
<complexType name="CDecimalField">
<complexContent>
<extension base="ttns:CField">
<sequence>
<element name="value" type="xsd:double" minOccurs="1" maxOccurs="1"/>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="CBooleanField" type="ttns:CBooleanField"/>
<complexType name="CBooleanField">
<complexContent>
<extension base="ttns:CField">
<sequence>
<element name="value" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="CDateField" type="ttns:CDateField"/>
<complexType name="CDateField">
<complexContent>
<extension base="ttns:CField">
<sequence>
<element name="value" type="xsd:date" minOccurs="1" maxOccurs="1" nillable="true"/>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="CDateTimeField" type="ttns:CDateTimeField"/>
<complexType name="CDateTimeField">
<complexContent>
<extension base="ttns:CField">
<sequence>
<element name="value" type="xsd:dateTime" minOccurs="1" maxOccurs="1" nillable="true"/>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="CDropdownField" type="ttns:CDropdownField"/>
<complexType name="CDropdownField">
<complexContent>
<extension base="ttns:CField">
<sequence>
<element name="value" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="dropdownValues" type="ttns:ArrayOfCFieldValue" minOccurs="1" maxOccurs="1" nillable="true"/>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="CVersionField" type="ttns:CVersionField"/>
<complexType name="CVersionField">
<complexContent>
<extension base="ttns:CField">
<sequence>
<element name="value" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="ArrayOfCField">
<complexContent>
<restriction base="SOAP-ENC:Array">
<sequence>
<element name="item" type="ttns:CField" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute ref="SOAP-ENC:arrayType" WSDL:arrayType="ttns:CField[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="ArrayOfstring">
<complexContent>
<restriction base="SOAP-ENC:Array">
<sequence>
<element name="item" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute ref="SOAP-ENC:arrayType" WSDL:arrayType="xsd:string[]"/>
</restriction>
</complexContent>
</complexType>
<element name="CDefectEvent" type="ttns:CDefectEvent"/>
<complexType name="CDefectEvent">
<complexContent>
<extension base="ttns:CItemWithDBRecordId">
<sequence>
<element name="user" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="date" type="xsd:date" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="notes" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="eventaddorder" type="xsd:short" minOccurs="1" maxOccurs="1"/>
<element name="name" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="parenteventid" type="xsd:long" minOccurs="1" maxOccurs="1"/>
<element name="attachmentlist" type="ttns:ArrayOfCFileAttachment" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="fieldlist" type="ttns:ArrayOfCField" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="resultingstate" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="hours" type="xsd:double" minOccurs="1" maxOccurs="1"/>
<element name="assigntolist" type="ttns:ArrayOfstring" minOccurs="1" maxOccurs="1" nillable="true"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="ArrayOfCDefectEvent">
<complexContent>
<restriction base="SOAP-ENC:Array">
<sequence>
<element name="item" type="ttns:CDefectEvent" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute ref="SOAP-ENC:arrayType" WSDL:arrayType="ttns:CDefectEvent[]"/>
</restriction>
</complexContent>
</complexType>
<element name="CDefectEventDefinition" type="ttns:CDefectEventDefinition"/>
<complexType name="CDefectEventDefinition">
<sequence>
<element name="name" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="user" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
<element name="datetime" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
<element name="notes" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
<element name="resultingState" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
<element name="resultingStateValues" type="ttns:ArrayOfCFieldValue" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="fileattachments" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
<element name="timeTracking" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
<element name="timeSumOfAll" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
<element name="timeHoursSinceLast" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
<element name="newAssignment" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
<element name="releaseNotes" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
<element name="customFields" type="ttns:ArrayOfCField" minOccurs="1" maxOccurs="1" nillable="true"/>
</sequence>
</complexType>
<complexType name="ArrayOfCDefectEventDefinition">
<complexContent>
<restriction base="SOAP-ENC:Array">
<sequence>
<element name="item" type="ttns:CDefectEventDefinition" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute ref="SOAP-ENC:arrayType" WSDL:arrayType="ttns:CDefectEventDefinition[]"/>
</restriction>
</complexContent>
</complexType>
<element name="CDefect" type="ttns:CDefect"/>
<complexType name="CDefect">
<complexContent>
<extension base="ttns:CItemToTrack">
<sequence>
<element name="defectnumber" type="xsd:long" minOccurs="1" maxOccurs="1"/>
<element name="summary" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="state" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="disposition" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="type" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="priority" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="product" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="component" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="reference" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="severity" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="enteredby" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="dateentered" type="xsd:date" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="locationaddedfrom" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="datetimecreated" type="xsd:dateTime" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="datetimemodified" type="xsd:dateTime" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="createdbyuser" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="modifiedbyuser" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="actualhourstofix" type="xsd:double" minOccurs="1" maxOccurs="1"/>
<element name="reportedbylist" type="ttns:ArrayOfCReportedByRecord" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="eventlist" type="ttns:ArrayOfCDefectEvent" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="pSCCFileList" type="ttns:ArrayOfCSCCFileRecord" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="customFieldList" type="ttns:ArrayOfCField" minOccurs="1" maxOccurs="1" nillable="true"/>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="CTask" type="ttns:CTask"/>
<complexType name="CTask">
<complexContent>
<extension base="ttns:CItemToTrack">
<sequence>
<element name="status" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="priority" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="summary" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="description" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="datedue" type="xsd:date" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="dateassigned" type="xsd:date" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="versiondue" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="assignedto" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="assignedby" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="assigneddefect" type="xsd:long" minOccurs="1" maxOccurs="1"/>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="PhoneNumber" type="ttns:PhoneNumber"/>
<complexType name="PhoneNumber">
<sequence>
<element name="numbertype" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="phonenumber" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
</sequence>
</complexType>
<element name="CUser" type="ttns:CUser"/>
<complexType name="CUser">
<complexContent>
<extension base="ttns:CItemToTrack">
<sequence>
<element name="firstname" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="lastname" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="usergroupname" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="company" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="emailtype" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="emailaddress" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="isactive" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
<element name="iscustomer" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
<element name="isglobal" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
<element name="isactiveglobal" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
<element name="userLicense" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="password" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="loginname" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="phoneone" type="ttns:PhoneNumber" minOccurs="1" maxOccurs="1"/>
<element name="phonetwo" type="ttns:PhoneNumber" mDeepank-
When generating forms from Designer, Designer attaches libraries - like ofgmes.pll, ofgnavl.pll, etc. You will need to copy these libraries to the same directory where your forms reside on your Linux box. To find out what libraries ate attached to your form, open it on your windows PC after generating it from Designer and you will see the attached libraries. Also, watch out for the case-sensitivity of Linux. If you have the Designer libraries on your linux box and you still get errors, try changing the case of the names of the libraries.
Hope this helps,
Dan -
How to use wscompile to generate code using a WSDL file?
I am working with JAX-RPC of Java Web Service ver: 1.1. I am intrested in making the WSDL file first and generating Java code from the WSDL file. On the following link:
http://java.sun.com/webservices/docs/1.1/tutorial/doc/JAXRPC6.html#wp80094
it says that wscompile can generate code using a WSDL file..:
<quote>
Table 11-3 wscompile Options
-import : read a WSDL file, generate the service's RMI interface and a template of the class that implements the interface
</quote>
and the wscompile software says this:
<quote>
C:\>wscompile
-import : generate interfaces and value types only
</quote>
can anyone tell me how to generated Java code from a WSDL file. As in, make the WSDL file (e.g. using XMLSpy) and then use that WSDL generate Java code.
ThanksI'm trying to generate code using wscompile under the struction in JAXRPC_Tutorial.pdf.
I issued the following command:
wscompile.sh -keep -gen:client -f:wsi -verbose config.xml
But I met with the following warning and I cann't find the produced java code, who know why? Thanks in advance!
warning: ignoring SOAP port "EmployeeDBPort": unrecognized transport
warning: Service "EmployeeDatabase" does not contain any usable ports
the config.xml file is:
<?xml version="1.0" encoding="UTF-8"?>
<configuration
xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config">
<wsdl name="EmployeeDBService"
location="EmployeeDB.wsdl"
packageName="com.sun.xml.rpc.xml.EmployeeDB">
</wsdl>
</configuration> -
JWSDP - configuration error in using wscompile.bat to generate WSDL
Hello all,
I am new to JWSDP and am trying to generate a WSDL and jaxrpc mapping for my EJB SEI. I'm using JWSDP 1.4 and my interface has simple String datatypes as arguments. I'm getting the following error when I try to use wscompile.bat:
error: only one configuration file can be specified: config.xml
Usage: wscompile [options] configuration_file
Use "wscompile -help" for a detailed description of options.I'm using the command as follows:
wscompile -cp C:\temp\lib\client.jar;C:\jboss-4.0.2\server\all\lib\jboss-j2ee.jar -gen:server -f:rpcliteral -mapping jaxrpc-mapping.xml config.xml(client.jar contains the interface, and since it extends javax.ejb.EJBObject, I also included jboss-j2ee.jar in the CLASSPATH). My config.xml looks as follows:
<?xml version="1.0" encoding="UTF-8"?>
<configuration xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config">
<service name="MyInterfaceService"
targetNamespace="http://webservice.interfaces.test.com"
typeNamespace="http://webservice.interfaces.test.com"
packageName="com.test.interfaces">
<interface name="com.test.interfaces.MyInterface"/>
</service>
</configuration>What am I doing wrong here? Would really appreciate any help.
Thanks.Apparently for JWSDP, the command needs to be issued as follows:
wscompile -cp "C:\temp\lib\client.jar;C:\jboss-4.0.2\server\all\lib\jboss-j2ee.jar" -gen:server -f:rpc
literal -mapping jaxrpc-mapping.xml config.xml(Notice the quotes around the CLASSPATH)
Hope this helps someone else. -
I created a site column at the root of my site and I have publishing turned on. I selected the Hyperlink with formatting and constraints for publishing.
I went to my subsite and added the column. The request was to have "Open in new tab" for their hyperlinks. I was able to get the column to be added and yesterday we added items without a problem.
The problem arose when, today, a user told me that he could not edit the hyperlink. He has modify / delete permissions on this list.
He would edit the item, in a custom list, and click on the address "click to add a new hyperlink" and then he would get the error below after succesfully putting in the Selected URL (http://www.xxxxxx.com), Open
Link in New Window checkbox, the Display Text, and Tooltip:
"Message from Webpage There was an error in the browser while setting properties into the page HTML, possibly due to invalid URLs or other values. Please try again or use different property values."
We are on IE 9.0.8.1112 x86, Windows 7 SP1 Enterprise Edition x64
The farm is running SharePoint 2010 SP2 Enterprise Edition August 2013 CU Mark 2, 14.0.7106.5002
and I saw in another post, below with someone who had a similar problem and the IISreset fixed it, as did this problem. I wonder if this is resolved in the latest updated CU of SharePoint, the April 2014 CU?
Summary from this link below: Comment out, below, in AssetPickers.js
//callbackThis.VerifyAnchorElement(HtmlElement, Config);
perform IISReset
This is referenced in the item below:
http://social.technet.microsoft.com/Forums/en-US/d51a3899-e8ea-475e-89e9-770db550c06e/message-from-webpage-error-there-was-an-error-in-the-browser-while-setting?forum=sharepointgeneralprevious
TThThis is possibly the same information that I saw, possibly from the above link as reference.
http://seanshares.com/post/69022029652/having-problems-with-sharepoint-publishing-links-after
Again, if I update my SharePoint 2010 farm to April 2014 CU is this going to resolve the issue I have?
I don't mind changing the JS file, however I'd like to know / see if there is anything official regarding this instead of my having to change files.
Thank you!
MattWe had the same issue after applying the SP2 & August CU. we open the case with MSFT and get the same resolution as you mentioned.
I blog about this issue and having the office reference.
Later MSFT release the Hotfix for this on December 10, 2013 which i am 100% positive should be part of future CUs.
So if you apply the April CU then you will be fine.
Please remember to mark your question as answered &Vote helpful,if this solves/helps your problem. ****************************************************************************************** Thanks -WS MCITP(SharePoint 2010, 2013) Blog: http://wscheema.com/blog -
I have used RunState.ProcessModelClient.Data.Seq["MainSequence"].Locals.MyVariable to set Locals variables in client sequences running in a sequential model but it doesn't seem to work with the batch model. Using a breakpoint I found that RunState.ProcessModelClient.Data.Seq is a container listing all of the sequences in the client sequence with the Main Sequence being index 0.
I tried using RunState.ProcessModelClient.Data.Seq[0].Locals.MyVariable to set the variables in my client sequence and it worked fine.
My question: is this method reliable or am I doing something that might cause problems down the road?
Thanks,
SteveA few issues from doing it this way-
1- You should try an make your process model such that it can handle almost any sequence file thrown at it. MainSequence may not a) contain that local variable and b) be at array element 0. Unless you do some serious error checking then using your process model elsewhere will be a problem because it will throw errors.
2- It all depends on where you are changing that variable at. Remember with the Batch Model that you are dealing with multiple copies of your client sequence. If you change a Locals in the process model which threads does it actually affect?
3- Locals is to be used for the sole purpose of the sequence it resides in. Just like in text based programming where you have a function call:
MyFunc(int x, int y){
string foo;
foo is local and really shouldn't be changed outside of MyFunc. x and y are parameters and should be how data is shared among different sequences in TestStand. There are variables for bigger scopes as well (i.e. StationGlobals, FileGlobals).
I recommend using either a StationGlobal or passing the data as a parameter.
In the end you are the engineer and the flexibility that TestStand gives you makes it so you can do things however you want.
My 2 Cents,
jigg
CTA, CLA
teststandhelp.com
~Will work for kudos and/or BBQ~ -
Setting Default Printer on Client Machine using Webutil
hi.........
i have configuired webutil on Application Server.
i want to develop a form using webutil from which user can set default printer from client's machine.....
i have tried using CLIENT_WIN_API_ENVIRONMENT.READ_REGISTRY();......BUT NOT YET SOLVED..
Is there any other solution except using CLIENT_WIN_API_ENVIRONMENT.READ_REGISTRY();
pls help me asap........Swapnil,
There are a lot of posts about this. I suggest you search the Forms Forum for 'WebUtil default printer' and see if you can find some that has solved this issue.
Sorry, I could be more helpful. I started looking through these posts myself and finally decided I was the wrong person doing the search! :-)
Craig... -
Generating WSDL using wscompile???URGENT!!
I am new to the wsdl and I am trying to use a rmi interface to generate a wsdl file and other server artifacts using wscompile. All of my files are in the trial directory.
Config.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration
xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config">
<service name="MonitorService"
typeNamespace="\\monitor.org\nexgear.typ"
targetNamespace="\\monitor.org\nexgear.wsdl"
packageName="nexgear">
<interface name="Monitor"
servantName = "MonitorImpl"/>
</service>
</configuration>
when I use wscompile -gen:server -cp . config.xml
I get a few InvocationTargetException and after about 4-5 of these it reveals that it ic being caused be a NoClassDefFoundException Monitor wrong name (monitor/Monitor)
The monitor/Monitor appears nowhere in my code and the monitor directory doesn't exist.
If I leave out the classpath option I get a NoClassDefFoundException Monitor.
I am building from my src directory and don't really know what I am doing wrong. Getting this to work makes a huge impact on my project ie. go no-go.I got this working this morning. The trick is in the file structure. When I got the error about class not found it gave me a weird naming that didn't exist in my file structure. Well after thinking about it and getting nowhere this naming was followed in my file structure and I got the WSDL.
-
What does this message mean?
"Warning: Inconsistent Arg. You cannot have Use Stack Variables set if Generate Serial Only is not set."
Where do I set Generate Serial Only?
Thanks,
Derek
Solved!
Go to Solution.Hi Derek,
Not all of the LabVIEW C Generator settings are compatible with one another. In this case, you must set Generate Serial Only (aka "Disable Parallel Execution") if you want to generate code that uses stack variables.
Michael P
National Instruments -
I have created a class that uses a result set object. I need to scroll through the result set twice and my code is not working. My first question is:
Is there a method that will return the length of a result set?
If there is a length method that will solve my problem. Otherwise from what I understand if I set my result set to have the following properties it will work:
(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY)
In the API it states that you pass the above as a parameter to the createStatement method. However in our application we do not use the createStatement method. I am wondering is there any other way of setting the result set to have these values?
The problem is occuring with the following method:
public boolean selectEngsByClientName (TransactionManager tm) throws Exception
boolean foundData = false;
ResultSet clientResultSet = null;
PreparedStatement prepStatement = null;
String sqlStatement;
int i = 0;
int countResultSet = 0;
sqlStatement = " SELECT " +
" eg.eng_engagement_no engNo, " +
" cl.cln_short_name clientName, " +
" eg.eng_name engName " +
" FROM " +
" far.engagements eg, " +
" far.clients cl" +
" WHERE " +
" upper(cl.cln_short_name) like upper('" + this.clientSearchName +"%') AND" +
" eg.cln_client_no = cl.cln_client_no AND" +
" eg.eng_status_code = '2'";
try
// Instantiate prepared statement using the connection in the TransactionManager class
prepStatement = tm.getConnection().prepareStatement(sqlStatement);
// Execute the sql statement
tm.startTransaction();
clientResultSet = prepStatement.executeQuery();
//Determines number of objects in result set so that array size can be set
while (clientResultSet.next())
countResultSet ++;
//Creates array of engagement objects that is the same length as the result set
engagement = new Engagement[countResultSet];
for (int index = 0; index < engagement.length; index++)
engagement[index] = new Engagement();
clientResultSet.first();
while (clientResultSet.next())
// Populate DAO attributes with data in the ResultSet returned
System.out.println(clientResultSet.getString("engNo"));
engagement.setEngNo(clientResultSet.getString("engNo"));
engagement[i].setClientName(clientResultSet.getString("clientName"));
engagement[i].setEngName(clientResultSet.getString("engName"));
i ++;
// Set the result to success
foundData = true;
tm.endTransaction();
catch (SQLException sqle)
tm.rollback();
// Re-throw custom exception
throw new Exception();
finally
// Close the prepared statement and result set if not null
try
if (clientResultSet != null)
clientResultSet.close();
if (prepStatement != null)
prepStatement.close();
catch (Exception e) {}
return foundData;Good atleast ur concepts are clear
ok then do both the thing simultaneously this way
engagement.setClientName(clientResultSet.getString("clientName"));
engagement.setEngName(clientResultSet.getString("engName"));
ResultSet rs=St.executeQuery()
int count=0;
While(rs.next())
count=count+1;
engagement.setClientName(rs.getString("clientName"));
engagement.setEngName(rs.getString("engName"));
System.out.println("Length od ResultSet = "+count); -
Couldn't I use Chinese language in properties stream ?
Hi , everyone !
Couldn't I use Chinese language in properties ?
I use properties manage program attributes , but the value which I type in Chinese language can not load
correctly !
Why ?Hi,
I did a lot of testing with the method of my last posting and ran into the following problem: each character, that is not available in iso 8859-1 is discarded and replaced by a '?'. So when e.g. loading arabic characters you get just "?????" as your property's value.
The only possibility to enable other encodings of Property Files is to replace the encoding of the reader to one that is better suited. So I created a customized class, that inherits from java.util.Properties, and supports loading and storing to any encoding. This class I give here:
* Properties.java
* Created on 11. Juni 2003, 14:08
package xy;
* The <code>Properties</code> class represents a persistent set of
* properties. The <code>Properties</code> can be saved to a stream
* or loaded from a stream. Each key and its corresponding value in
* the property list is a string.
* <p>
* A property list can contain another property list as its
* "defaults"; this second property list is searched if
* the property key is not found in the original property list.
* <p>
* Because <code>Properties</code> inherits from <code>Hashtable</code>, the
* <code>put</code> and <code>putAll</code> methods can be applied to a
* <code>Properties</code> object. Their use is strongly discouraged as they
* allow the caller to insert entries whose keys or values are not
* <code>Strings</code>. The <code>setProperty</code> method should be used
* instead. If the <code>store</code> or <code>save</code> method is called
* on a "compromised" <code>Properties</code> object that contains a
* non-<code>String</code> key or value, the call will fail.
* <p>
* <a name="encoding"></a>
* When saving properties to a stream or loading them from a stream, the
* ISO 8859-1 character encoding can be used. For characters that cannot be directly
* represented in this encoding,
* <a href="http://java.sun.com/docs/books/jls/html/3.doc.html#100850">Unicode escapes</a>
* are used; however, only a single 'u' character is allowed in an escape sequence.
* The native2ascii tool can be used to convert property files to and from
* other character encodings.
* </p>
* <p>
* This Properties class is an extension of the default properties class an supports the
* loading and saving from and into other encodings than ISO 8859-1.
* </p>
* @see <a href="../../../tooldocs/solaris/native2ascii.html">native2ascii tool for Solaris</a>
* @see <a href="../../../tooldocs/win32/native2ascii.html">native2ascii tool for Windows</a>
* @author Gregor Kappler, extended the class of JDK by
* @author Arthur van Hoff
* @author Michael McCloskey
* @version 1.64, 06/26/00
* @since JDK1.0
public class Properties extends java.util.Properties {
private static final String keyValueSeparators = "=: \t\r\n\f";
private static final String strictKeyValueSeparators = "=:";
private static final String specialSaveChars = "=: \t\r\n\f#!";
private static final String whiteSpaceChars = " \t\r\n\f";
/** Creates a new instance of Properties */
public Properties() {
* Reads a property list (key and element pairs) from the input stream.
* The stream is assumed to be in the specified character encoding.
* <p>
* Every property occupies one line of the input stream. Each line
* is terminated by a line terminator (<code>\n</code> or <code>\r</code>
* or <code>\r\n</code>). Lines from the input stream are processed until
* end of file is reached on the input stream.
* <p>
* A line that contains only whitespace or whose first non-whitespace
* character is an ASCII <code>#</code> or <code>!</code> is ignored
* (thus, <code>#</code> or <code>!</code> indicate comment lines).
* <p>
* Every line other than a blank line or a comment line describes one
* property to be added to the table (except that if a line ends with \,
* then the following line, if it exists, is treated as a continuation
* line, as described
* below). The key consists of all the characters in the line starting
* with the first non-whitespace character and up to, but not including,
* the first ASCII <code>=</code>, <code>:</code>, or whitespace
* character. All of the key termination characters may be included in
* the key by preceding them with a \.
* Any whitespace after the key is skipped; if the first non-whitespace
* character after the key is <code>=</code> or <code>:</code>, then it
* is ignored and any whitespace characters after it are also skipped.
* All remaining characters on the line become part of the associated
* element string. Within the element string, the ASCII
* escape sequences <code>\t</code>, <code>\n</code>,
* <code>\r</code>, <code>\\</code>, <code>\"</code>, <code>\'</code>,
* <code>\ </code> (a backslash and a space)
* are recognized and converted to single
* characters. Moreover, if the last character on the line is
* <code>\</code>, then the next line is treated as a continuation of the
* current line; the <code>\</code> and line terminator are simply
* discarded, and any leading whitespace characters on the continuation
* line are also discarded and are not part of the element string. <br>
* Note:
* <code>\u</code><i>xxxx</i> is not supported if the encoding is not
* ISO 8859-1!
* <p>
* As an example, each of the following four lines specifies the key
* <code>"Truth"</code> and the associated element value
* <code>"Beauty"</code>:
* <p>
* <pre>
* Truth = Beauty
* Truth:Beauty
* Truth :Beauty
* </pre>
* As another example, the following three lines specify a single
* property:
* <p>
* <pre>
* fruits apple, banana, pear, \
* cantaloupe, watermelon, \
* kiwi, mango
* </pre>
* The key is <code>"fruits"</code> and the associated element is:
* <p>
* <pre>"apple, banana, pear, cantaloupe, watermelon, kiwi, mango"</pre>
* Note that a space appears before each <code>\</code> so that a space
* will appear after each comma in the final result; the <code>\</code>,
* line terminator, and leading whitespace on the continuation line are
* merely discarded and are <i>not</i> replaced by one or more other
* characters.
* <p>
* As a third example, the line:
* <p>
* <pre>cheeses
* </pre>
* specifies that the key is <code>"cheeses"</code> and the associated
* element is the empty string.<p>
* @param inStream the input stream.
* @exception IOException if an error occurred when reading from the
* input stream.
public synchronized void load(java.io.InputStream inStream, java.nio.charset.Charset encoding) throws java.io.IOException {
if (encoding.equals (encoding.forName("8859_1"))) {
super.load (inStream);
return;
java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(inStream, encoding));
while (true) {
// Get next line
String line = in.readLine();
if (line == null)
return;
if (line.length() > 0) {
// Continue lines that end in slashes if they are not comments
char firstChar = line.charAt(0);
if ((firstChar != '#') && (firstChar != '!')) {
while (continueLine(line)) {
String nextLine = in.readLine();
if(nextLine == null)
nextLine = "";
String loppedLine = line.substring(0, line.length()-1);
// Advance beyond whitespace on new line
int startIndex=0;
for(startIndex=0; startIndex<nextLine.length(); startIndex++)
if (whiteSpaceChars.indexOf(nextLine.charAt(startIndex)) == -1)
break;
nextLine = nextLine.substring(startIndex,nextLine.length());
line = new String(loppedLine+nextLine);
// Find start of key
int len = line.length();
int keyStart;
for(keyStart=0; keyStart<len; keyStart++) {
if(whiteSpaceChars.indexOf(line.charAt(keyStart)) == -1)
break;
// Blank lines are ignored
if (keyStart == len)
continue;
// Find separation between key and value
int separatorIndex;
for(separatorIndex=keyStart; separatorIndex<len; separatorIndex++) {
char currentChar = line.charAt(separatorIndex);
if (currentChar == '\\')
separatorIndex++;
else if(keyValueSeparators.indexOf(currentChar) != -1)
break;
// Skip over whitespace after key if any
int valueIndex;
for (valueIndex=separatorIndex; valueIndex<len; valueIndex++)
if (whiteSpaceChars.indexOf(line.charAt(valueIndex)) == -1)
break;
// Skip over one non whitespace key value separators if any
if (valueIndex < len)
if (strictKeyValueSeparators.indexOf(line.charAt(valueIndex)) != -1)
valueIndex++;
// Skip over white space after other separators if any
while (valueIndex < len) {
if (whiteSpaceChars.indexOf(line.charAt(valueIndex)) == -1)
break;
valueIndex++;
String key = line.substring(keyStart, separatorIndex);
String value = (separatorIndex < len) ? line.substring(valueIndex, len) : "";
// Convert then store key and value
key = loadConvert(key);
value = loadConvert(value);
put(key, value);
* Writes this property list (key and element pairs) in this
* <code>Properties</code> table to the output stream in a format suitable
* for loading into a <code>Properties</code> table using the
* <code>load</code> method.
* The stream is written using the ISO 8859-1 character encoding.
* <p>
* Properties from the defaults table of this <code>Properties</code>
* table (if any) are <i>not</i> written out by this method.
* <p>
* If the header argument is not null, then an ASCII <code>#</code>
* character, the header string, and a line separator are first written
* to the output stream. Thus, the <code>header</code> can serve as an
* identifying comment.
* <p>
* Next, a comment line is always written, consisting of an ASCII
* <code>#</code> character, the current date and time (as if produced
* by the <code>toString</code> method of <code>Date</code> for the
* current time), and a line separator as generated by the Writer.
* <p>
* Then every entry in this <code>Properties</code> table is written out,
* one per line. For each entry the key string is written, then an ASCII
* <code>=</code>, then the associated element string. Each character of
* the element string is examined to see whether it should be rendered as
* an escape sequence. The ASCII characters <code>\</code>, tab, newline,
* and carriage return are written as <code>\\</code>, <code>\t</code>,
* <code>\n</code>, and <code>\r</code>, respectively. Characters less
* than <code>\u0020</code> and characters greater than
* <code>\u007E</code> are written as <code>\u</code><i>xxxx</i> for
* the appropriate hexadecimal value <i>xxxx</i>. Leading space characters,
* but not embedded or trailing space characters, are written with a
* preceding <code>\</code>. The key and value characters <code>#</code>,
* <code>!</code>, <code>=</code>, and <code>:</code> are written with a
* preceding slash to ensure that they are properly loaded.
* <p>
* After the entries have been written, the output stream is flushed. The
* output stream remains open after this method returns.
* @param out an output stream.
* @param header a description of the property list.
* @exception IOException if writing this property list to the specified
* output stream throws an <tt>IOException</tt>.
* @exception ClassCastException if this <code>Properties</code> object
* contains any keys or values that are not <code>Strings</code>.
* @exception NullPointerException if <code>out</code> is null.
* @since 1.2
public synchronized void store(java.io.OutputStream out, java.nio.charset.Charset encoding, String header)
throws java.io.IOException
if (encoding.equals (encoding.forName("8859_1"))) {
super.store (out,header);
return;
java.io.BufferedWriter awriter;
awriter = new java.io.BufferedWriter(new java.io.OutputStreamWriter(out,encoding));
if (header != null)
writeln(awriter, "#" + header);
writeln(awriter, "#" + new java.util.Date().toString());
for (java.util.Enumeration e = keys(); e.hasMoreElements();) {
String key = (String)e.nextElement();
String val = (String)get(key);
key = saveConvert(key, true);
/* No need to escape embedded and trailing spaces for value, hence
* pass false to flag.
val = saveConvert(val, false);
writeln(awriter, key + "=" + val);
awriter.flush();
* changes special saved chars to their original forms
private String loadConvert (String theString) {
char aChar;
int len = theString.length();
StringBuffer outBuffer = new StringBuffer(len);
for(int x=0; x<len; ) {
aChar = theString.charAt(x++);
if (aChar == '\\') {
aChar = theString.charAt(x++);
if (aChar == 't') aChar = '\t';
else if (aChar == 'r') aChar = '\r';
else if (aChar == 'n') aChar = '\n';
else if (aChar == 'f') aChar = '\f';
else if (aChar == '\\') aChar = '\\';
else if (aChar == '\"') aChar = '\"';
else if (aChar == '\'') aChar = '\'';
else if (aChar == ' ') aChar = ' ';
else
throw new IllegalArgumentException ("error in Encoding: '\\"+aChar+" not supported");
outBuffer.append(aChar);
} else
outBuffer.append(aChar);
return outBuffer.toString();
* writes out any of the characters in specialSaveChars
* with a preceding slash
private String saveConvert(String theString, boolean escapeSpace) {
int len = theString.length();
StringBuffer outBuffer = new StringBuffer(len*2);
for(int x=0; x<len; x++) {
char aChar = theString.charAt(x);
switch(aChar) {
case ' ':
if (x == 0 || escapeSpace)
outBuffer.append('\\');
outBuffer.append(' ');
break;
case '\\':outBuffer.append('\\'); outBuffer.append('\\');
break;
case '\t':outBuffer.append('\\'); outBuffer.append('t');
break;
case '\n':outBuffer.append('\\'); outBuffer.append('n');
break;
case '\r':outBuffer.append('\\'); outBuffer.append('r');
break;
case '\f':outBuffer.append('\\'); outBuffer.append('f');
break;
default:
// if ((aChar < 0x0020) || (aChar > 0x007e)) {
// outBuffer.append(aChar);
// } else {
if (specialSaveChars.indexOf(aChar) != -1)
outBuffer.append('\\');
outBuffer.append(aChar);
return outBuffer.toString();
* Returns true if the given line is a line that must
* be appended to the next line
private boolean continueLine (String line) {
int slashCount = 0;
int index = line.length() - 1;
while((index >= 0) && (line.charAt(index--) == '\\'))
slashCount++;
return (slashCount % 2 == 1);
private static void writeln(java.io.BufferedWriter bw, String s) throws java.io.IOException {
bw.write(s);
bw.newLine();
}I hope you can use this class for your needs as I can. For me it supports any characters so far. If you find some bugs on it, let me know
Regards,
Gregor Kappler -
Problem on "error: modeler error: model error" by using wscompile
When I use wscompile to generate the client stub, I get the follwoing error:
error: modeler error: model error: invalid entity name: "BaseFaultType" (in name space: "http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-BaseFaults-1.2-draft-01.xsd")
What is the problem mean? And What I should do with it?
Thanks a lot.Ershad Ahmed wrote:
Hi Swathi,
>
> Before performing the restore i would always restore control file from the backup to make sure that restore is working
Hi,
he already restored 30%, so I think we can safely assume at least some stuff did work.
Allthough I agree that since the controlfile is saved last, this is a good test.
Seems to be either a dirty tape (clean drive, repeat) or a faulty backup ( ugh ).
When you retry after cleaning, you can use -f (fillup) to save the restore from retrieving the files it allready got.
Check the initSID.sap for the backup & restore commands and esp. the bs= / ibs= / obs= options.
Volker
Maybe you are looking for
-
How do I run iTunes off an external hard drive?
I have an 80GB laptop which is getting pretty full, so I've added a 500GB external hard drive with the intention of transferring my music files (amongst other things) to the external drive, freeing up space on the laptop. This has proved (almost) mor
-
We are facing issue to open a static form PDF in Chrome Browser , which is loaded using Adobe FormService. Able to open in other browsers but not able to open the static forms in chrome with LC 11.0 version Below error message: The document you are t
-
Servicegen error: jdk5?
I'm using WLS 8.1 sp4 and I'm trying to use the servicegen ant task to create a webservice from a session bean. The problem seems to be with the parameter to my EJB method, if I use a string array, all is fine, if I try to use a hashmap, I get the fo
-
Save multiple photos from editor
Hi, When I have finished my work on multiple photos in the editor and I want to save it then I must save every picture separate. Is there a possibility to save all photos in one run. Thanks for answers.
-
We bought a prepaid phone online with a 45.00 plan and cant get the minutes?
we bought a lg optimus zone phone on verizon website on june 19 2014 with 45.00 worth of minutes on the allset plan and they wont give us our minutes to use we have called and called them it took us over 5 hours just to get the phone activated alone.