VA Web services client

VA Smalltalk is a "100% VisualAge compatible" IDE that includes the original VisualAge technology and the popular VA Assist and WidgetKit add-ons.

Moderators: Eric Clayberg, wembley, tc, Diane Engles, solveig

VA Web services client

Postby Elenthril » Fri Aug 28, 2009 4:40 am

Hi,

Our application consumes a third party web-service. In our development image everything works fine. After packaging, our run-time image, throws an error on deploying the webservice, see trace below. In the development image, the method buildRuntimeWSDL:using: parses the url which returns an instance of SstWsdlDefinitions. In the runtime image parsing returns an AbtXmlMappedRootElement('wsdl:definitions').We are lost as why this might happen.
Is the stream containing the wsdl xml empty? Did we strip something out of the image?
Any ideas?
Thanks

Code: Select all
AbtXmlMappedRootElement(AbtXmlMappedElement)>>#doesNotUnderstand:
  receiver = an AbtXmlMappedRootElement('wsdl:definitions')
  arg1 = Message (#sourceUrl:, ('http://mspadobe.org.com/WSWeb/services/service.wsdl'))
  temp1 = 'sourceUrl'
  temp2 = nil
  temp3 = 'http://mspadobe.org.com/WSWeb/services/service.wsdl'
  temp4 = nil
SstWSWsdlStrategy(SstWSDeploymentStrategy)>>#buildRuntimeWSDL:using:
  receiver = a SstWSWsdlStrategy
  arg1 = 'http://mspadobe.org.com/WSWeb/services/service.wsdl'  arg2 = a SstWSContainer (AC8912)
  temp1 = an AbtXmlMappedRootElement('wsdl:definitions')
SstWSWsdlStrategy>>#deploy:into:using:
  receiver = a SstWSWsdlStrategy
  arg1 = 'http://mspadobe.org.com/WSWeb/services/service.wsdl'  arg2 = a SstWSContainer (AC8912)
  arg3 = nil
  temp1 = nil
  temp2 = nil
  temp3 = nil
SstWSWsdlStrategy>>#deploy:into:
  receiver = a SstWSWsdlStrategy
  arg1 = 'http://mspadobe.org.com/WSWeb/services/service.wsdl'  arg2 = a SstWSContainer (AC8912)
SstWSDeploymentManager>>#deploy:
  receiver = a SstWSDeploymentManager
  arg1 ='http://mspadobe.org.com/WSWeb/services/service.wsdl'SstWSContainer>>#deploy:
  receiver = a SstWSContainer (AC8912)
  arg1 = 'http://mspadobe.org.com/WSWeb/services/service.wsdl'
Elenthril
 
Posts: 7
Joined: Wed Feb 25, 2009 2:35 am

Re: VA Web services client

Postby PhotonDemon » Fri Aug 28, 2009 8:14 am

Hi Elenthril,

Please forgive me for repeating a post I just made to another topic but I think it will help. If I am correct, trying to debug your walkback will be fruitless because your code and probably your package definition are fine. It is the development image that you are packaging from that is the problem.

You must version your Seaside app and everything it needs. Start with a clean development image and load your Seaside app and everything it needs. Then package it. This packaged image should be fine. You can then continue development with the clean development image.

If you saved the old development image, you will probably see that it is larger than the new clean development image. Also, the size of the packaged image that fails may be larger than the one that works. This larger size is a hint that there was some stuff in the development image that was causing problems including the bad packaged image.

I have seen these problems before with non Seaside programs but with Seaside they are even more pronounced. I think testing Seaside from the development environment, makes the problem worse.

Lou
Louis LaBrunda
Keystone Software Corp.
SkypeMe callto://PhotonDemon
mailto:Lou@Keystone-Software.com http://www.Keystone-Software.com
PhotonDemon
[|]
 
Posts: 176
Joined: Thu Dec 20, 2007 1:45 pm

Re: VA Web services client

Postby Elenthril » Fri Aug 28, 2009 9:16 am

Hi Lou,

Thanks for the response. What you describe is what we are doing. We take a clean image, load our configuration and then package. And you're right, debugging doesn't make sense, since it works in dev.

Btw, we're not using seaside.

Elenthril
Elenthril
 
Posts: 7
Joined: Wed Feb 25, 2009 2:35 am

Re: VA Web services client

Postby tc » Sat Aug 29, 2009 6:14 pm

Hello,

You need to check the files the packager generates and find the reason the method 'AbtXmlMappedRootElement>>#sourceUrl:' was eliminated from the packaged image then specifically include it using something like #packagerIncludeSelectors.

The packager will often delete methods from the packaged image it thinks are not used. Defining the method #packagerIncludeSelectors fixes it. The documentation gives a full explanation of it.

--tc
tc
Moderator
 
Posts: 304
Joined: Tue Oct 17, 2006 7:40 am
Location: Raleigh, NC

Re: VA Web services client

Postby Elenthril » Sun Aug 30, 2009 12:13 am

Hi,

Thanks for the reply. The method sourceUrl: is not stripped out of the image. It is part of SstWsdlDefinitions class. IThe problem is that the parser does not return a SstWsdlDefinitions instance in the packaged image, but a AbtXmlMappedRootElement instance. Now, as far as I can see that is becuase the object and type of that instance are nil (unlike in dev) But why, I have no idea
Elenthril
 
Posts: 7
Joined: Wed Feb 25, 2009 2:35 am

Re: VA Web services client

Postby Elenthril » Sun Aug 30, 2009 12:13 am

Hi,

Thanks for the reply. The method sourceUrl: is not stripped out of the image. It is part of SstWsdlDefinitions class. IThe problem is that the parser does not return a SstWsdlDefinitions instance in the packaged image, but a AbtXmlMappedRootElement instance. Now, as far as I can see that is becuase the object and type of that instance are nil (unlike in dev) But why, I have no idea
Elenthril
 
Posts: 7
Joined: Wed Feb 25, 2009 2:35 am

Re: VA Web services client

Postby Elenthril » Sun Aug 30, 2009 3:03 am

Hello,

I think I figured out what is going on. The mappingSpecs dict of the XMLObjectCache (singleton) instance is emptied by the pacakger, and hence the error. The mappings are set in the startup method of a couple of application classes (so are intialized on load). How do I stop the packager to empty these mappings or how do I reinitialize the XMLObjectCache with the default mappingSpecs?

Thanks
Elenthril
 
Posts: 7
Joined: Wed Feb 25, 2009 2:35 am

Re: VA Web services client

Postby tc » Mon Aug 31, 2009 12:15 am

Hello,

Read the section in the documentation titled, 'Deploying packaged Web services'. Your runtime needs access to all the files listed there.

--tc
tc
Moderator
 
Posts: 304
Joined: Tue Oct 17, 2006 7:40 am
Location: Raleigh, NC

Re: VA Web services client

Postby benvandijk » Mon Aug 31, 2009 1:19 am

Elenthril wrote:Hello,

I think I figured out what is going on. The mappingSpecs dict of the XMLObjectCache (singleton) instance is emptied by the pacakger, and hence the error. The mappings are set in the startup method of a couple of application classes (so are intialized on load). How do I stop the packager to empty these mappings or how do I reinitialize the XMLObjectCache with the default mappingSpecs?

Thanks


Hello,

You can stop the packager from emptying the cache by removing teh packagingRulesFor: class method in AbtXmlBaseApp. But a better way is to call the mentioned startup methods from the starting method of your application. Alternatively you can create startUp class methods in your application classes (the ones that subclass from Application. They will be called in the startup sequence of your runtime image ( see class method startUp in AbtXmlBaseApp).

Greetz, Ben.
benvandijk
 
Posts: 45
Joined: Sun Feb 25, 2007 7:14 am
Location: Arnhem, Netherlands

Re: VA Web services client

Postby Elenthril » Mon Aug 31, 2009 5:52 am

benvandijk wrote:
Hello,

You can stop the packager from emptying the cache by removing teh packagingRulesFor: class method in AbtXmlBaseApp. But a better way is to call the mentioned startup methods from the starting method of your application. Alternatively you can create startUp class methods in your application classes (the ones that subclass from Application. They will be called in the startup sequence of your runtime image ( see class method startUp in AbtXmlBaseApp).

Greetz, Ben.


Great, Ben. That did the trick. Thanks a lot!
Elenthril
 
Posts: 7
Joined: Wed Feb 25, 2009 2:35 am


Return to VA Smalltalk 7.0, 7.5 & 8.0

Who is online

Users browsing this forum: Yahoo [Bot] and 1 guest