ova fails to import, seems related to the BootOrderSection tag in the ovf - vsphere

I've got an ova file that I've created with packer (via this plugin) that imports fine into my local vCenter managed vSphere cluster. I'm on version 6.5. I've got reports that a customer was unable to import this ova into their similar cluster. I don't have any information about what version they're running. Locally, I was able to reproduce their error on an unrelated vSphere 6.5 instance that isn't under vCenter management.
When I try to import the ova, when I'm at the end ready to let it upload the ova, I get the following message:
screenshot of error in vSphere web UI
If I continue anyway, the "upload" completes immediately and produces a VM that takes up no space and won't boot. After 5 minutes of thinking, vSphere seems to decide that it's broken and automatically deletes it.
Interestingly, I tracked it down to the following bit of xml in the ovf file inside the ova:
<vmw:BootOrderSection vmw:instanceId="8" vmw:type="disk">
<Info>Virtual hardware device boot order</Info>
</vmw:BootOrderSection>
If I remove this, update the sha256 value in the manifest file, and re-tar the ova file, that one works fine on both of my environments.
I've attached the entire ovf file from my ova for reference, including what I believe to be the offending BootOrderSection tag.
Any one have any idea what's wrong with my standalone vSphere environment, or my customer's vCenter cluster that isn't showing up on my local vCenter cluster?
The entire ovf that fails:
<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by VMware VirtualCenter Server, User: PD\jprice, UTC time: 2018-10-11T13:58:30.867527Z-->
<Envelope vmw:buildId="build-5973321" xmlns="http://schemas.dmtf.org/ovf/envelope/1" xmlns:cim="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:vmw="http://www.vmware.com/schema/ovf" xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<References>
<File ovf:href="safeconnect-disk1.vmdk" ovf:id="file1" ovf:size="3689997824"/>
</References>
<DiskSection>
<Info>Virtual disk information</Info>
<Disk ovf:capacity="300" ovf:capacityAllocationUnits="byte * 2^30" ovf:diskId="vmdisk1" ovf:fileRef="file1" ovf:format="http://www.vmware.com/interfaces/specifications/vmdk.html#streamOptimized" ovf:populatedSize="6508576768"/>
</DiskSection>
<NetworkSection>
<Info>The list of logical networks</Info>
<Network ovf:name="Services">
<Description>The Services network</Description>
</Network>
</NetworkSection>
<VirtualSystem ovf:id="safeconnect-6.5-ova">
<Info>A virtual machine</Info>
<Name>safeconnect-6.5-ova</Name>
<OperatingSystemSection ovf:id="101" vmw:osType="otherLinux64Guest">
<Info>The kind of installed guest operating system</Info>
<Description>Other Linux (64-bit)</Description>
</OperatingSystemSection>
<VirtualHardwareSection>
<Info>Virtual hardware requirements</Info>
<System>
<vssd:ElementName>Virtual Hardware Family</vssd:ElementName>
<vssd:InstanceID>0</vssd:InstanceID>
<vssd:VirtualSystemIdentifier>safeconnect-6.5-ova</vssd:VirtualSystemIdentifier>
<vssd:VirtualSystemType>vmx-10</vssd:VirtualSystemType>
</System>
<Item>
<rasd:AllocationUnits>hertz * 10^6</rasd:AllocationUnits>
<rasd:Description>Number of Virtual CPUs</rasd:Description>
<rasd:ElementName>8 virtual CPU(s)</rasd:ElementName>
<rasd:InstanceID>1</rasd:InstanceID>
<rasd:Limit>0</rasd:Limit>
<rasd:ResourceType>3</rasd:ResourceType>
<rasd:VirtualQuantity>8</rasd:VirtualQuantity>
</Item>
<Item>
<rasd:AllocationUnits>byte * 2^20</rasd:AllocationUnits>
<rasd:Description>Memory Size</rasd:Description>
<rasd:ElementName>16384MB of memory</rasd:ElementName>
<rasd:InstanceID>2</rasd:InstanceID>
<rasd:Reservation>16384</rasd:Reservation>
<rasd:ResourceType>4</rasd:ResourceType>
<rasd:VirtualQuantity>16384</rasd:VirtualQuantity>
</Item>
<Item>
<rasd:Address>0</rasd:Address>
<rasd:Description>SCSI Controller</rasd:Description>
<rasd:ElementName>SCSI controller 0</rasd:ElementName>
<rasd:InstanceID>3</rasd:InstanceID>
<rasd:ResourceSubType>lsilogic</rasd:ResourceSubType>
<rasd:ResourceType>6</rasd:ResourceType>
<vmw:Config ovf:required="false" vmw:key="slotInfo.pciSlotNumber" vmw:value="16"/>
</Item>
<Item>
<rasd:Address>1</rasd:Address>
<rasd:Description>IDE Controller</rasd:Description>
<rasd:ElementName>IDE 1</rasd:ElementName>
<rasd:InstanceID>4</rasd:InstanceID>
<rasd:ResourceType>5</rasd:ResourceType>
</Item>
<Item>
<rasd:Address>0</rasd:Address>
<rasd:Description>IDE Controller</rasd:Description>
<rasd:ElementName>IDE 0</rasd:ElementName>
<rasd:InstanceID>5</rasd:InstanceID>
<rasd:ResourceType>5</rasd:ResourceType>
</Item>
<Item ovf:required="false">
<rasd:AutomaticAllocation>false</rasd:AutomaticAllocation>
<rasd:ElementName>Video card</rasd:ElementName>
<rasd:InstanceID>6</rasd:InstanceID>
<rasd:ResourceType>24</rasd:ResourceType>
<vmw:Config ovf:required="false" vmw:key="enable3DSupport" vmw:value="false"/>
<vmw:Config ovf:required="false" vmw:key="use3dRenderer" vmw:value="automatic"/>
<vmw:Config ovf:required="false" vmw:key="useAutoDetect" vmw:value="false"/>
<vmw:Config ovf:required="false" vmw:key="videoRamSizeInKB" vmw:value="4096"/>
</Item>
<Item ovf:required="false">
<rasd:AutomaticAllocation>false</rasd:AutomaticAllocation>
<rasd:ElementName>VMCI device</rasd:ElementName>
<rasd:InstanceID>7</rasd:InstanceID>
<rasd:ResourceSubType>vmware.vmci</rasd:ResourceSubType>
<rasd:ResourceType>1</rasd:ResourceType>
<vmw:Config ovf:required="false" vmw:key="allowUnrestrictedCommunication" vmw:value="false"/>
<vmw:Config ovf:required="false" vmw:key="slotInfo.pciSlotNumber" vmw:value="33"/>
</Item>
<Item>
<rasd:AddressOnParent>0</rasd:AddressOnParent>
<rasd:ElementName>Hard disk 1</rasd:ElementName>
<rasd:HostResource>ovf:/disk/vmdisk1</rasd:HostResource>
<rasd:InstanceID>8</rasd:InstanceID>
<rasd:Parent>3</rasd:Parent>
<rasd:ResourceType>17</rasd:ResourceType>
<vmw:Config ovf:required="false" vmw:key="backing.writeThrough" vmw:value="false"/>
</Item>
<Item>
<rasd:AddressOnParent>7</rasd:AddressOnParent>
<rasd:AutomaticAllocation>true</rasd:AutomaticAllocation>
<rasd:Connection>Services</rasd:Connection>
<rasd:Description>E1000 ethernet adapter on "Services"</rasd:Description>
<rasd:ElementName>Network adapter 1</rasd:ElementName>
<rasd:InstanceID>9</rasd:InstanceID>
<rasd:ResourceSubType>E1000</rasd:ResourceSubType>
<rasd:ResourceType>10</rasd:ResourceType>
<vmw:Config ovf:required="false" vmw:key="slotInfo.pciSlotNumber" vmw:value="32"/>
<vmw:Config ovf:required="false" vmw:key="wakeOnLanEnabled" vmw:value="true"/>
</Item>
<vmw:Config ovf:required="false" vmw:key="cpuHotAddEnabled" vmw:value="false"/>
<vmw:Config ovf:required="false" vmw:key="cpuHotRemoveEnabled" vmw:value="false"/>
<vmw:Config ovf:required="false" vmw:key="firmware" vmw:value="bios"/>
<vmw:Config ovf:required="false" vmw:key="virtualICH7MPresent" vmw:value="false"/>
<vmw:Config ovf:required="false" vmw:key="virtualSMCPresent" vmw:value="false"/>
<vmw:Config ovf:required="false" vmw:key="memoryHotAddEnabled" vmw:value="false"/>
<vmw:Config ovf:required="false" vmw:key="nestedHVEnabled" vmw:value="false"/>
<vmw:Config ovf:required="false" vmw:key="powerOpInfo.powerOffType" vmw:value="soft"/>
<vmw:Config ovf:required="false" vmw:key="powerOpInfo.resetType" vmw:value="soft"/>
<vmw:Config ovf:required="false" vmw:key="powerOpInfo.standbyAction" vmw:value="checkpoint"/>
<vmw:Config ovf:required="false" vmw:key="powerOpInfo.suspendType" vmw:value="hard"/>
<vmw:Config ovf:required="false" vmw:key="tools.afterPowerOn" vmw:value="true"/>
<vmw:Config ovf:required="false" vmw:key="tools.afterResume" vmw:value="true"/>
<vmw:Config ovf:required="false" vmw:key="tools.beforeGuestShutdown" vmw:value="true"/>
<vmw:Config ovf:required="false" vmw:key="tools.beforeGuestStandby" vmw:value="true"/>
<vmw:Config ovf:required="false" vmw:key="tools.syncTimeWithHost" vmw:value="false"/>
<vmw:Config ovf:required="false" vmw:key="tools.toolsUpgradePolicy" vmw:value="manual"/>
<vmw:ExtraConfig ovf:required="false" vmw:key="nvram" vmw:value="safeconnect-6.5-ova.nvram"/>
</VirtualHardwareSection>
<vmw:BootOrderSection vmw:instanceId="8" vmw:type="disk">
<Info>Virtual hardware device boot order</Info>
</vmw:BootOrderSection>
</VirtualSystem>
</Envelope>

Related

Infinispan file-store creates binary folders with multiple .dat files

I am using the below infinispan configuration file and running into a weird issue. On startup the application creates multiple folders (one for each digit of the byte array 0 to 255) and each folder contains .dat file (in my case idempotent.dat). Also the content of the file are FCS1 for all the files created.
What I was expecting is that it will create a single file (/ap/efts/data/stage/cache/idempotent.dat) which has all the cached objects.
Can someone please identify what is causing this issue? I am using a camel-infinispan component to create Infinispan based idempotent repository.
NOTE: This was working correctly in infinispan version 7.0. For reference, I am also providing infinispan 7.0 configuration file as well as the spring bean configuration for idempotent repository.
infinispan.xml (10.0)
<?xml version="1.0" encoding="UTF-8"?>
<infinispan xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:infinispan:config:10.0 http://www.infinispan.org/schemas/infinispan-config-10.0.xsd"
xmlns="urn:infinispan:config:10.0">
<cache-container default-cache="idempotent">
<local-cache name="idempotent">
<expiration lifespan="1800000" max-idle="1800000" interval="60000" />
<persistence passivation="true">
<file-store path="/ap/efts/data/stage/cache" purge="true">
<write-behind thread-pool-size="5" />
</file-store>
</persistence>
<memory>
<binary eviction="MEMORY" size="1000000" />
</memory>
</local-cache>
</cache-container>
</infinispan>
infinispan.xml (7.0)
<?xml version="1.0" encoding="UTF-8"?>
<infinispan xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:infinispan:config:7.0 http://www.infinispan.org/schemas/infinispan-config-7.0.xsd"
xmlns="urn:infinispan:config:7.0">
<cache-container default-cache="default">
<local-cache name="idempotent">
<eviction max-entries="10000" strategy="LIRS"/>
<persistence passivation="false">
<file-store path="/ap/efts/data/stage/cache" max-entries="10000" purge="false">
</file-store>
</persistence>
</local-cache>
</cache-container>
</infinispan>
spring bean configuration
<bean id="cacheManager" class="org.infinispan.manager.DefaultCacheManager" init-method="start" destroy-method="stop">
<constructor-arg type="java.lang.String" value="infinispan.xml"/>
</bean>
<bean id="infinispanRepo" class="org.apache.camel.component.infinispan.processor.idempotent.InfinispanIdempotentRepository"
factory-method="infinispanIdempotentRepository">
<constructor-arg ref="cacheManager" />
<constructor-arg value="idempotent" />
</bean>
It is creating a file for each segment (caches internally are organized in segments). The default is 256. This makes operations such as iteration much faster.
You can disable segmentation at the store level by adding a segmented="false" attribute to the file-store element

Mule - XML Array only reads one element

I have a XML payload that contains the following example:
<Example>
<Brand>
<Id>987S</Id>
<logo>circle</logo>
<Item>
<Name>cologne1</Name>
<Item>
<Name>Bosque</Name>
</Item>
</Item>
<Item>
<Name>t-Shirt</Name>
</Item>
</Brand>
<Brand>
<Id>877823C</Id>
<logo>circle</logo>
<Item>
<Name>t-Shirt2</Name>
<Item>
<Name>t-Shirt black</Name>
<Item>
<Name>t-Shirt black with logo</Name>
</Item>
</Item>
</Item>
</Brand>
</Example>
I read the XML with DataWeave to transform the Example content to Array:
#[payload.Example.*Brand]
It returns a LinkedHashMap with two Objects. I use a for-each to loop and read each Brand object and the result is:
Id: 987S
logo: circle
Item
So, even if the brand object has two Items objects, it only returns one.
How could I solve this?
You should be getting everything under Example tag.

Add multiple tracking numbers to an amazon order using MWS API

I am trying to upload multiple tracking numbers to an Amazon order using MWS API in PHP but don't know what would be the XML request for this. Here is the XML I am using which ends up uploading the last tracking number.
$feed = <<<EOD
<?xml version="1.0" encoding="UTF-8"?>
<AmazonEnvelope xsi:noNamespaceSchemaLocation="amzn-envelope.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Header>
<DocumentVersion>1.01</DocumentVersion>
<MerchantIdentifier>XXX</MerchantIdentifier>
</Header>
<MessageType>OrderFulfillment</MessageType>
<Message>
<MessageID>1</MessageID>
<OrderFulfillment>
<AmazonOrderID>$orderId</AmazonOrderID>
<FulfillmentDate>$FulfillmentDate</FulfillmentDate>
<FulfillmentData>
<CarrierCode>$carrierCode</CarrierCode>
<ShipperTrackingNumber>'1Z7X887R0370783509'</ShipperTrackingNumber>
</FulfillmentData>
<Item>
<Quantity>1</Quantity>
</Item>
</OrderFulfillment>
</Message>
<MessageID>2</MessageID>
<OrderFulfillment>
<AmazonOrderID>$orderId</AmazonOrderID>
<FulfillmentDate>$FulfillmentDate</FulfillmentDate>
<FulfillmentData>
<CarrierCode>$carrierCode</CarrierCode>
<ShipperTrackingNumber>'1Z7X887R0075127492'</ShipperTrackingNumber>
</FulfillmentData>
<Item>
<Quantity>1</Quantity>
</Item>
</OrderFulfillment>
</Message>
<MessageID>3</MessageID>
<OrderFulfillment>
<AmazonOrderID>$orderId</AmazonOrderID>
<FulfillmentDate>$FulfillmentDate</FulfillmentDate>
<FulfillmentData>
<CarrierCode>$carrierCode</CarrierCode>
<ShipperTrackingNumber>'1Z7X887R0375972085'</ShipperTrackingNumber>
</FulfillmentData>
<Item>
<Quantity>1</Quantity>
</Item>
</OrderFulfillment>
</Message>
</AmazonEnvelope>
EOD;
Any help is appreciated!
Try the following XML. Hope it helps.
<?xml version="1.0" encoding="UTF-8"?>
<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amzn-envelope.xsd">
<Header>
<DocumentVersion>1.01</DocumentVersion>
<MerchantIdentifier>My Store</MerchantIdentifier>
</Header>
<MessageType>OrderFulfillment</MessageType>
<Message>
<MessageID>1</MessageID>
<OrderFulfillment>
<MerchantOrderID>1234567</MerchantOrderID>
<MerchantFulfillmentID>1234567</MerchantFulfillmentID>
<FulfillmentDate>2002-05-01T15:36:33-08:00</FulfillmentDate>
<FulfillmentData>
<CarrierCode>UPS</CarrierCode>
<ShippingMethod>Second Day</ShippingMethod>
<ShipperTrackingNumber>1Z7X887R0075127492</ShipperTrackingNumber>
</FulfillmentData>
<Item>
<MerchantOrderItemID>11</MerchantOrderItemID>
<MerchantFulfillmentItemID>11</MerchantFulfillmentItemID>
<Quantity>2</Quantity>
</Item>
</OrderFulfillment>
</Message>
<Message>
<MessageID>2</MessageID>
<OrderFulfillment>
<MerchantOrderID>1234567</MerchantOrderID>
<MerchantFulfillmentID>1234567</MerchantFulfillmentID>
<FulfillmentDate>2002-05-01T15:36:33-08:00</FulfillmentDate>
<FulfillmentData>
<CarrierCode>UPS</CarrierCode>
<ShippingMethod>Second Day</ShippingMethod>
<ShipperTrackingNumber>1Z7X887R0075127492</ShipperTrackingNumber>
</FulfillmentData>
<Item>
<MerchantOrderItemID>22</MerchantOrderItemID>
<MerchantFulfillmentItemID>22</MerchantFulfillmentItemID>
<Quantity>2</Quantity>
</Item>
</OrderFulfillment>
</Message>
</AmazonEnvelope>
For more information about XSD, you can refer to Amazon order Fulfilment XSD
Looks like you're not properly opening your messages.
Try this:
</Message>
Add this --> <Message>
<MessageID>2</MessageID>
</Message>
Add this --> <Message>
<MessageID>3</MessageID>
I realize this is an old post, but in case anyone else is looking and can't get the XML to work, I did ultimately find the answer for myself, which was to submit the feed as a flat file instead of XML. My solution was in C# and not PHP, but basically the FeedType has to be set to "POST_FLAT_FILE_FULFILLMENT_DATA"
request.FeedType = "_POST_FLAT_FILE_FULFILLMENT_DATA_";
instead of "POST_ORDER_FULFILLMENT_DATA" and then submit a tab-delimited text file in the format defined here (from their European site, but I use this in the United States marketplace):
https://sellercentral-europe.amazon.com/gp/help/external/help.html?itemID=13491
I tried repeatedly to get the XML to work with a few different variations and simply could not make it work. Amazon's documentation on this is terrible and doesn't describe how to format the XML for multiple tracking numbers. When I switched to the flat file feed, it worked right away. If anyone has had any luck with the XML version, I would be interested in seeing that. I had an open case with Amazon for quite a while trying to get this information from them and they kept insisting that I was asking them to write my code for me when really I just wanted guidance on how to format the XML correctly for their system. I suspect that there is no way to get two tracking numbers to work in and XML feed and that it only works with a flat file.

How to change disk storage profile with vCloud API

I'm trying to change disk storage profile of one VM in the vCloud. I've found this link. I use the following xml document as the body of my REST request
<?xml version="1.0" encoding="UTF-8"?>
<RasdItemsList xmlns="http://www.vmware.com/vcloud/v1.5" xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" href="https://192.168.141.100/api/vAppTemplate/vm-4ec8cce7-0b48-483c-ac0c-14ff39d0aa7c/virtualHardwareSection/disks" type="application/vnd.vmware.vcloud.rasdItemsList+xml" xsi:schemaLocation="http://www.vmware.com/vcloud/v1.5 http://192.168.141.100/api/v1.5/schema/master.xsd http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2.22.0/CIM_ResourceAllocationSettingData.xsd">
<Link rel="edit" href="https://192.168.141.100/api/vAppTemplate/vm-4ec8cce7-0b48-483c-ac0c-14ff39d0aa7c/virtualHardwareSection/disks" type="application/vnd.vmware.vcloud.rasdItemsList+xml"/>
<Item>
<rasd:Address>0</rasd:Address>
<rasd:Description>SCSI Controller</rasd:Description>
<rasd:ElementName>SCSI Controller 0</rasd:ElementName>
<rasd:InstanceID>2</rasd:InstanceID>
<rasd:ResourceSubType>lsilogic</rasd:ResourceSubType>
<rasd:ResourceType>6</rasd:ResourceType>
</Item>
<Item>
<rasd:AddressOnParent>0</rasd:AddressOnParent>
<rasd:Description>Hard disk</rasd:Description>
<rasd:ElementName>Hard disk 1</rasd:ElementName>
<rasd:HostResource
xmlns:vcloud="http://www.vmware.com/vcloud/v1.5"
vcloud:capacity="10240"
vcloud:busSubType="lsilogic"
vcloud:busType="6"
vcloud:storageProfileOverrideVmDefault="true"
vcloud:storageProfileHref="https://192.168.141.100/api/vdcStorageProfile/3235c8c2-7489-4e32-b73c-cd8a9d10c4e4">
</rasd:HostResource>
<rasd:InstanceID>2000</rasd:InstanceID>
<rasd:Parent>2</rasd:Parent>
<rasd:ResourceType>17</rasd:ResourceType>
</Item>
<Item>
<rasd:AddressOnParent>1</rasd:AddressOnParent>
<rasd:Description>Hard disk</rasd:Description>
<rasd:ElementName>Hard disk 2</rasd:ElementName>
<rasd:HostResource xmlns:vcloud="http://www.vmware.com/vcloud/v1.5" vcloud:capacity="1024" vcloud:busSubType="lsilogic" vcloud:busType="6"/>
<rasd:InstanceID>2001</rasd:InstanceID>
<rasd:Parent>2</rasd:Parent>
<rasd:ResourceType>17</rasd:ResourceType>
</Item>
<Item>
<rasd:Address>0</rasd:Address>
<rasd:Description>IDE Controller</rasd:Description>
<rasd:ElementName>IDE Controller 0</rasd:ElementName>
<rasd:InstanceID>3</rasd:InstanceID>
<rasd:ResourceType>5</rasd:ResourceType>
</Item>
</RasdItemsList>
For some reason after reconfiguration task is completed I see no changes for the storage profile section
PS C:\Windows\system32> $vmdisks.RasdItemsList.Item[1].HostResource
vcloud capacity busSubType busType
------ -------- ---------- -------
http://www.vmware.com/vcloud/v1.5 10240 lsilogic 6
PS C:\Windows\system32> $vmdisks.RasdItemsList.Item[2].HostResource
vcloud capacity busSubType busType
------ -------- ---------- -------
http://www.vmware.com/vcloud/v1.5 1024 lsilogic 6
The interesting thing is re-configuring of disk size runs successfully. Looks like reconfiguration task skips storage profile changes. Can anyone advice me on this matter?
I've double checked fast provisioning in my organisational vDC and it is off.
What you're looking for is on line 27: ProviderVdcStorageProfile
I'm using PowerShell to post the XML document that I build in Notepad++, based on the document linked below. The link has a rel of edit, a content-type of orgVdc+xml and the href will be your vdc ID.
<?xml version="1.0" encoding="UTF-8"?>
<CreateVdcParams name="{0}" xmlns="http://www.vmware.com/vcloud/v1.5">
<Description>API VDC</Description>
<AllocationModel>AllocationVApp</AllocationModel>
<ComputeCapacity>
<Cpu>
<Units>MHz</Units>
<Allocated>3000</Allocated>
<Limit>0</Limit>
</Cpu>
<Memory>
<Units>MB</Units>
<Allocated>0</Allocated>
<Limit>0</Limit>
</Memory>
</ComputeCapacity>
<NicQuota>0</NicQuota>
<NetworkQuota>10</NetworkQuota>
<VdcStorageProfile>
<Enabled>true</Enabled>
<Units>MB</Units>
<Limit>0</Limit>
<Default>true</Default>
<ProviderVdcStorageProfile
href="https://vcloud.example.com/api/admin/pvdcStorageProfile/0b6fe60b-e70b-4529-bbaa-fd82ff59125f" />
</VdcStorageProfile>
<ResourceGuaranteedMemory>0.01</ResourceGuaranteedMemory>
<ResourceGuaranteedCpu>0.01</ResourceGuaranteedCpu>
<VCpuInMhz>3000</VCpuInMhz>
<IsThinProvision>true</IsThinProvision>
<NetworkPoolReference
href="https://vcloud.example.com/api/admin/extension/externalnet/4444"/>
<ProviderVdcReference
name="Provider1"
href="https://vcloud.example.com/api/admin/extension/providervdc/242424" />
<UsesFastProvisioning>true</UsesFastProvisioning>
</CreateVdcParams>

WSO2 Data DelegatingResultSet.isClosed in Procedure SQL Server

i have a problem with wso2 data version 2.6.3 to execute procedure in sql server:
My Config:
<data name="TestDS">
<config id="ds_test">
<property name="org.wso2.ws.dataservice.driver">net.sourceforge.jtds.jdbc.Driver</property>
<property name="org.wso2.ws.dataservice.protocol">jdbc:jtds:sqlserver://172.16.16.16:1433/db_stores;instance=sql1</property>
<property name="org.wso2.ws.dataservice.user">storeuser</property>
<property name="org.wso2.ws.dataservice.password">3st0re123</property>
<property name="org.wso2.ws.dataservice.autocommit"></property>
</config>
<query id="qrySearchTest" useConfig="ds_test">
<sql>exec USP_PesquisaSistema #SIS_CRIPTOGRAFIA_PASSAPORTE =:chave</sql>
<result element="sistemas" rowName="sistema" defaultNamespace="http://store.test.org.br">
<element name="codigoSistema" column="SIS_IDF" xsdType="xs:integer" />
<element name="siglaSistema" column="SIS_SIGLA" xsdType="xs:string" />
<element name="nomeSistema" column="SIS_NOME" xsdType="xs:string" />
</result>
<param name="chave" sqlType="STRING" ordinal="1" />
</query>
<operation name="SearchTest">
<call-query href="qrySearchTest">
<with-param name="chave" query-param="chave" />
</call-query>
</operation>
</data>
and the error java.lang.AbstractMethodError:
TID: [0] [WSO2 Data Services Server] [2012-09-24 09:44:32,762] ERROR org.apache.axis2.transport.http.AxisServlet} - {org.apache.axis2.transport.http.AxisServlet} java.lang.AbstractMethodError
at org.apache.commons.dbcp.DelegatingResultSet.isClosed(DelegatingResultSet.java:688)
at org.apache.commons.dbcp.DelegatingResultSet.isClosed(DelegatingResultSet.java:688)
at org.wso2.carbon.dataservices.core.description.query.SQLQuery.processStoredProcQuery(SQLQuery.java:904)
at org.wso2.carbon.dataservices.core.description.query.SQLQuery.runQuery(SQLQuery.java:2071)
at org.wso2.carbon.dataservices.core.description.query.Query.execute(Query.java:252)
at org.wso2.carbon.dataservices.core.engine.CallQuery.execute(CallQuery.java:185)
at org.wso2.carbon.dataservices.core.engine.CallQueryGroup.execute(CallQueryGroup.java:110)
at org.wso2.carbon.dataservices.core.description.operation.Operation.execute(Operation.java:71)
at org.wso2.carbon.dataservices.core.engine.DataService.invoke(DataService.java:592)
at org.wso2.carbon.dataservices.core.engine.DSOMDataSource.execute(DSOMDataSource.java:99)
at org.wso2.carbon.dataservices.core.engine.DSOMDataSource.serialize(DSOMDataSource.java:110)
at org.wso2.carbon.dataservices.core.engine.DSOMDataSource.getReader(DSOMDataSource.java:116)
at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.getDirectReader(OMSourcedElementImpl.java:225)
at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.forceExpand(OMSourcedElementImpl.java:254)
at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.getFirstOMChild(OMSourcedElementImpl.java:867)
at org.apache.axiom.om.impl.OMNavigator._getFirstChild(OMNavigator.java:196)
at org.apache.axiom.om.impl.OMNavigator.updateNextNode(OMNavigator.java:140) .....
......
In the version 2.5.1 works.
If i paste the sql query without SP, works.
can help me ?
Thank
You're getting this error because in DSS 2.6.3, you require a JDBC4 driver, which only have the ResultSet.isClosed() method .. so basically download the SQL Server JDBC4 driver (sqljdbc4) and try it and see. Also, in DSS 3.0.0 (to be released), it has been fixed by making the ResultSet.isClosed optional.
Cheers,
Anjana.

Resources